Répétez les instructions: java alors que les déclarations

Voici un jeu de devinettes pour vous de tester votre compréhension de Java. L'ordinateur génère un nombre aléatoire de 1 à 10. L'ordinateur vous demande de deviner le nombre. Si vous vous trompez, le jeu continue. Dès que vous devinez correctement, le jeu est terminé. Cette liste indique le programme de jouer le jeu, et la figure montre un tour de jeu.

image0.jpg
static import-import java.util.Scanner java.lang.System.out-import java.util.Random-classe publique GuessAgain {void main (String args []) {public static Scanner clavier = new Scanner (System.in) - int numGuesses = 0-int randomNumber = new Random (). nextInt (10) + 1-out.println ("************") -out.println ("Bienvenue sur le jeu de devinettes ") -out.println (" ************ ") -out.println () - out.print (" Entrez un int entre 1 et 10: ") -int inputNumber = clavier. nextInt () - numGuesses ++ -while (inputNumber! = randomNumber) {out.println () - out.println ("Essayez de nouveau ...") - out.print ("Entrez un int entre 1 et 10:") -inputNumber = keyboard.nextInt () - numGuesses ++ -}out.print ("Vous gagnez après") -out.println (numGuesses + "suppositions.") - keyboard.close () -}}

Dans la figure, l'utilisateur effectue quatre suppositions. Chaque fois, l'ordinateur vérifie pour voir si la conjecture est correcte. Une supposition incorrecte génère une demande d'essayer à nouveau. Pour une estimation correcte, l'utilisateur reçoit un vibrant Tu as gagné, avec un décompte du nombre de suppositions qu'il ou elle fait.

L'ordinateur répète plusieurs déclarations, vérifiant à chaque fois par l'intermédiaire de voir si la proposition de l'utilisateur est le même que un certain nombre généré de façon aléatoire. Chaque fois que l'utilisateur fait une proposition, l'ordinateur ajoute 1 à son décompte des suppositions. Lorsque l'utilisateur fait la bonne proposition, l'ordinateur affiche de la correspondance. La figure illustre le flux de l'action.

image1.jpg


Lorsque vous regardez sur la liste, vous voyez le code qui fait tout ce travail. Au cœur du code est une chose appelée tandis que déclaration (également connu en tant que while). Reformulée en anglais, le tandis que déclaration dit:

tandis que le inputNumber est pas égale à la randomNumberkeep faire tous les trucs dans des accolades: {}

Le truc entre accolades (la substance qui se répète) est le code qui imprime Essaye encore et Entrez un int. . ., obtient une valeur à partir du clavier, et ajoute 1 à la numération des suppositions de l'utilisateur.

Lorsque vous faites affaire avec des compteurs, comme numGuesses dans la liste, vous pouvez facilement devenir confus et être désactivé par 1 dans les deux sens. Vous pouvez éviter ce mal de tête en faisant en sorte que la ++ déclarations restent à proximité des déclarations dont les événements que vous êtes compte.

Par exemple, dans la liste, la variable numGuesses commence par une valeur de 0. Voilà parce que, lorsque le programme démarre, l'utilisateur n'a pas fait de suppositions. Plus tard dans le programme, à droite après chaque appel à keyboard.nextInt, est un numGuesses ++ déclaration. Voilà comment vous le faites - vous incrémenter le compteur dès que l'utilisateur saisit une autre proposition.

Les énoncés contenus dans les accolades sont répétées tant que inputNumber! = randomNumber est vrai. Chaque répétition des déclarations dans la boucle est appelée itération de la boucle. Dans la figure, la boucle subit trois itérations. (Si vous ne croyez pas que le chiffre a exactement trois itérations, compter le nombre de Essaye encore impressions à la sortie du programme. UN Essaye encore apparaît pour chaque estimation incorrecte.)

Lorsque, enfin, l'utilisateur entre la bonne proposition, l'ordinateur revient à la partie supérieure de la tandis que déclaration, vérifie l'état entre parenthèses, et se trouve dans le double terres double négatif. Le pas égal (!=) relation entre inputNumber et randomNumber ne tient plus.

En d'autres termes, la tandis que l'état de déclaration, inputNumber! = randomNumber, est fausse. Parce que le tandis que l'état de déclaration est fausse, l'ordinateur saute-delà de la tandis que boucle et continue à les déclarations juste en dessous du tandis que boucle. Dans ces deux déclarations, les gravures informatiques Vous gagnez après 4 conjectures.

Avec le code de la sorte représentée dans la liste, l'ordinateur ne saute à la mi-boucle. Lorsque l'ordinateur constate que inputNumber est pas égal à randomNumber, l'ordinateur marche sur et exécute tous les cinq déclarations à l'intérieur des accolades de la boucle. L'ordinateur effectue à nouveau (le test pour voir si inputNumber est toujours pas égal à randomNumber) Seulement après qu'il exécute entièrement les cinq énoncés dans la boucle.


» » » » Répétez les instructions: java alors que les déclarations