La bonne réponse pourrait être :

  1. Les valeurs initiales doivent être réglées correctement.
  2. La condition de la boucle while doit être correcte.
  3. Les changements des variables doivent être fait correctement.

Compter deux à deux


Si vous modifiez l'une de ces trois conditions, la boucle se comportera différemment. Voici une partie d'un programme Java qui compte deux à deux de manière ascendante :
    int count = 0;                                  // count est initialisée
    while ( count <= 6 )                            // count est testée
    {
      System.out.println( "count vaut " + count );
      count = count + 2;                            // count est modifié de 2
    }
    System.out.println( "Fin de la boucle !" );      
Voici ce qu'affichera ce programme :
count vaut 0
count vaut 2
count vaut 4
count vaut 6
Fin de la boucle !
Voici ce qui arrive, pas-à-pas :
  1. count est initialisée à 0.
  2. La condition, count <= 6 est évaluée, retournant true.
  3. Le corps de la boucle est exécuté, affichant "count vaut 0" et ajoutant 2 à count.
    • count vaut maintenant 2.
  4. La condition, count <= 6 est évaluée, retournant true.
  5. Le corps de la boucle est exécuté, affichant "count vaut 2" et ajoutant 2 à count.
    • count vaut maintenant 4.
  6. La condition, count <= 6 est évaluée, retournant true.
  7. Le corps de la boucle est exécuté, affichant "count vaut 4" et ajoutant 2 à count.
    • count vaut maintenant 6.
  8. La condition, count <= 6 est évaluée, retournant true.
  9. Le corps de la boucle est exécuté, affichant "count vaut 6" et ajoutant 2 à count.
    • count vaut maintenant 8.
  10. La condition, count <= 6 est évaluée, retournant FALSE.
  11. Le corps de la boucle n'est pas exécuté et l'instruction suivant le while est exécutée.

QUESTION 2:

Effectuons juste un petit changement à notre programme : modifions la valeur initiale de la variable count à :
    int count = 1; 
Qu'affiche alors le programme ?

Cette question est assez pernicieuse, prenez le temps de réfléchir