Aide programmation débutante en java

Fermé
temoindejava Messages postés 9 Date d'inscription jeudi 14 septembre 2017 Statut Membre Dernière intervention 16 novembre 2017 - 14 sept. 2017 à 17:38
temoindejava Messages postés 9 Date d'inscription jeudi 14 septembre 2017 Statut Membre Dernière intervention 16 novembre 2017 - 14 sept. 2017 à 18:21
Bonjour!
Alors voilà mon probleme, j'ai voulu faire un programme en Java, qui affiche un commentaire correspondant à la note sur 20 que l'utilisateur a saisi. Cela marche bien, c'est le bon message qui s'affiche etc mais le problème c'est que j'ai voulu faire une boucle afin que quand je demande à l'utilisateur s'il veut re-saisir une note et qu'il dit oui, cela revient au début de la boucle vu que la condition est tant que reponse == oui, pourtant lorsque j'éxecute le programme, je n'ai même pas l'occasion de saisir oui ou non, il met directement la phrase que vous pouvez voir à la fin qui est en dehors de la boucle. Je ne comprends pas mon erreur, si quelqu'un peut m'aider :)https://img-19.ccm2.net/7ls4mMuSEFqA8BNbxY1aqIYA1PA=/73219d8795a64840a6215a53736a2007/ccm-ugc/Capture.PNG
A voir également:

2 réponses

KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
14 sept. 2017 à 17:51
Bonjour,

Le problème vient de l'utilisation de Scanner.

Quand tu saisis la note tu fais deux choses :
1) tu tapes des chiffres
2) tu valides avec Entrée

Au niveau de Scanner, nextInt va lire uniquement les chiffres saisis.
Et quand il arrive sur le nextLine, il lit la touche Entrée que tu as déjà saisi.

Ce qu'il faut faire : toujours utiliser nextLine() et si besoin convertir le String pour récupérer un entier.

int note = Integer.parseInt(sc.nextLine());
0
temoindejava Messages postés 9 Date d'inscription jeudi 14 septembre 2017 Statut Membre Dernière intervention 16 novembre 2017
14 sept. 2017 à 18:08
je vous ai répondu en dessous pour pouvoir intégrer une image
0
temoindejava Messages postés 9 Date d'inscription jeudi 14 septembre 2017 Statut Membre Dernière intervention 16 novembre 2017
14 sept. 2017 à 18:08
Merci de prendre du temps pour me répondre! d'accord j'ai bien compris donc j'ai changé mais un problème persiste, j'ai maintenant la possibilité de répondre oui ou non, mais lorsque je mets oui il renvoye à l'instruction en dehors de la boucle : https://img-19.ccm2.net/kLBtJdSbWc94282Wqim-jeBsiTw=/71de4efa3fdd428797976a4b14ecbe70/ccm-ugc/Capture.PNG2.PNG
0
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
14 sept. 2017 à 18:15
L'opérateur
==
compare la référence de deux objets, pas leur valeur.
Il faut utiliser la méthode equals() pour comparer des objets sur leurs valeurs.

while (reponse.equals("oui"))
0
temoindejava Messages postés 9 Date d'inscription jeudi 14 septembre 2017 Statut Membre Dernière intervention 16 novembre 2017
14 sept. 2017 à 18:21
Bien vu! alala... en plus c'est une méthode que je connais mais j'y aurai pas pensé! merci beaucoup! ça marche parfaitement
0