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
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
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:
- Aide programmation débutante en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Logiciel de programmation pour débutant - Guide
- Waptrick java voiture - Télécharger - Jeux vidéo
2 réponses
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
14 sept. 2017 à 17:51
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.
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());
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
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
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
14 sept. 2017 à 18:15
14 sept. 2017 à 18:15
L'opérateur
Il faut utiliser la méthode equals() pour comparer des objets sur leurs valeurs.
==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"))
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
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
14 sept. 2017 à 18:08