Aide programmation débutante en java

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

2 réponses

  1. Modérateur
    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
    1. je vous ai répondu en dessous pour pouvoir intégrer une image
      0
  2. 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
    1. Modérateur
      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
    2. 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