Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme sur les boucles

Sujet résolu
    24 septembre 2017 à 14:09:04

    Bonjour, comment allez-vous?

    J'ai un probleme sur le cours Java au chapitre sur les boucles, il y a un probleme et je comprend/sais pas d’où cela proviens précisément  sur la méthode  "While" lorsque j’essaie de faire en sorte que la réponse que l'utilisateur ne soit "O" ou "N", tout se passe bien lorsque j’écris le prénom, une fois écris il y a bel et bien "Voulez-vous réessayer ?" comme prévu, mais a plusieurs reprise sans interruption(J’espère que l'image sera plus explicite)

    • Partager sur Facebook
    • Partager sur Twitter

    Delucis

      24 septembre 2017 à 14:35:34

      Salut,

      En fait, la boucle continue de tourner et ce sans aucune interruption puisqu'on ne lui demande pas d'en avoir une,

      en effet, quand tu passes à la deuxième boucle :

      while(reponse != 'O' && reponse != 'N'){
          System.out.println("Reessayer (O\N) : ");
      }

      L'intérieur de la boucle n'est composée que d'instructions ne modifiant pas les itérations de la boucle, tu affiches juste du texte, par conséquent, la boucle tourne indéfiniment.

      Pour la stopper, il faudrait demandez quelque chose à l'utilisateur qui modifierais la variable 'reponse' de tel sorte à ce que la boucle puisse s'arrêter.

      -
      Edité par vanaur 24 septembre 2017 à 14:38:14

      • Partager sur Facebook
      • Partager sur Twitter

      Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

        24 septembre 2017 à 14:58:25

        Merci d'avoir répondu, normalement après avoir écris le prénom, l'utilisateur, la console devais afficher "Voulez-vous réessayer (O/N)" et l'utilisateur n'aurais eus que 2 choix possible "O" ou "N" et pas d'autre lettre.

        -Et si jamais ce n'est pas le cas dans ce que j'ai fais, j'aimerais que tu puisse me montrer la bonne voie.

        -Et si j'ai bien ce que tu a dit, donc c'est normal que le message "Voulez-vous réessayer (O/N)" s'affiche indéfiniment c'est ça?

        • Partager sur Facebook
        • Partager sur Twitter

        Delucis

          24 septembre 2017 à 15:14:12

          Bonjour,

          Pense à utiliser la balise code pour la prochaine fois c'est bien plus facile à lire ;). 

          Pour en revenir à ton problème, si tu passes en debug dans le code tu verras que tu produis toi même ta boucle infinie. La JAVA est un langage qui s'exécute de façon séquentielle, ligne par ligne. 

          Ce que ton code dit actuellement : 

          • J'ai ma réponse qui est déjà à "O" : donc je rentre dans la première boucle et je réinitialise ma réponse

          A partir de là voila ce qui arrive : 

          Comme je ne suis ni à "O" ni à "N" et que je ne propose en aucun cas une solution pour changer ce résultat, et comme tu es déjà sorti de la toute première boucle donc on ne propose pas de taper un prénom. 

          C'est ton agencement du code qui ne permet pas de faire ce que tu veux faire ;). 

          Dans l'idée voila ce qu'il te faudrait pour couvrir tous tes cas : 

          while(response.equals("O")) {
          	//ton traitement
          	//..
          	//Ne pas remettre de boucle mais des conditions voir même une boucle switch
          }



          • Partager sur Facebook
          • Partager sur Twitter
            24 septembre 2017 à 16:12:34

            Merci Maequise et  Vanaur, j'ai fais une erreur et j’étais entrer dans une boucle infinie

            -
            Edité par Steeven Delucis 24 septembre 2017 à 16:27:02

            • Partager sur Facebook
            • Partager sur Twitter

            Delucis

              24 septembre 2017 à 16:48:27

              Sujet [résolut] ?
              • Partager sur Facebook
              • Partager sur Twitter

              Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

                24 septembre 2017 à 17:19:45

                Oui sujet est résolue, désolé j'ai oublier de cocher
                • Partager sur Facebook
                • Partager sur Twitter

                Delucis

                Probleme sur les boucles

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown