Wiederholen Sie Anweisungen: Java while-Anweisungen

Hier ist ein Ratespiel für Sie Ihr Verständnis von Java zu testen. Der Computer erzeugt eine Zufallszahl von 1 bis 10. Der Computer fragt Sie die Zahl zu erraten. Wenn Sie nicht richtig erraten, geht das Spiel weiter. Sobald Sie richtig erraten, ist das Spiel vorbei. Diese Auflistung zeigt das Programm, das Spiel zu spielen, und die Figur zeigt eine Runde zu spielen.

bild0.jpg
import static java.lang.System.out-Import java.util.Scanner-Import java.util.Random-public class GuessAgain {public static void main (String args []) {Scanner Tastatur = new Scanner (System.in) - int numGuesses = 0-int Random = new Random (). nextInt (10) + 1-out.println ( "************") -out.println ( "Willkommen in der Ratespiel ") -out.println (" ************ ") -out.println () - out.print (" ein int Geben Sie 1 bis 10: ") -int Inputnumber = Tastatur. nextInt () - numGuesses ++ -während (Inputnumber! = Random) {out.println () - out.println ( "Try again ...") - out.print ( "ein int Geben Sie 1 bis 10:") -inputNumber = keyboard.nextInt () - numGuesses ++ -}out.print ( "Sie gewinnen, nachdem") -out.println (numGuesses + "Vermutungen".) - keyboard.close () -}}

In der Figur gibt der Nutzer vier Vermutungen. Jedes Mal, prüft der Computer, um zu sehen, ob die Vermutung richtig ist. Eine falsche Vermutung eine Anforderung erneut zu versuchen. Für eine richtige Vermutung, erhält der Anwender eine mitreißende Du gewinnst, zusammen mit einer Bilanz von der Anzahl der Vermutungen er oder sie gemacht.

Der Computer wiederholt mehrere Anweisungen, jedes Mal überprüft durch, um zu sehen, ob der Benutzer Vermutung das gleiche wie eine bestimmte zufällig generierte Zahl ist. Jedes Mal, wenn der Benutzer eine Vermutung macht, fügt der Computer 1 auf seine Bilanz von Vermutungen. Wenn der Benutzer die richtige Vermutung macht, zeigt der Computer, dass Tally. Die Abbildung zeigt den Fluss der Handlung.

image1.jpg

Wenn Sie die Auflistung schauen vorbei, sehen Sie den Code, der diese Arbeit tut. Im Kern des Codes ist eine Sache, ein gerufener während Erklärung (Auch als ein bekannter while-Schleife). Umformuliert in Englisch, die während Erklärung heißt es:

während die Inputnumber ist auf die randomNumberkeep das ganze Zeug in geschweiften Klammern nicht gleich tun: {}

Das Zeug in geschweiften Klammern (das Zeug, das wiederholt) ist der Code, druckt Versuch es noch einmal und Geben Sie einen int. . ., bekommt einen Wert von der Tastatur, und addiert 1 zu der Zählung der Vermutungen des Benutzers.

Wenn Sie mit Zählern zu tun haben, wie numGuesses in der Liste, können Sie leicht verwirrt und aus in beiden Richtungen von 1 sein. Sie können sicherstellen, dass diese Kopfschmerzen zu vermeiden, dass die ++ Aussagen bleiben in der Nähe der Aussagen, deren Ereignisse zu zählen Sie.

Beispielsweise in der Auflistung, die Variable numGuesses beginnt mit einem Wert von 0. Das ist, weil, wenn das Programm zu laufen beginnt, hat der Benutzer keine Vermutungen gemacht. Später im Programm direkt nach jedem Aufruf keyboard.nextInt, ist ein numGuesses ++ Erklärung. Das ist, wie Sie es tun - der Zähler erhöht, sobald der Benutzer eine andere Vermutung geht.

Die Aussagen in geschweiften Klammern werden so lange wiederholt, wie Inputnumber! = Random ist wahr. Jede Wiederholung der Aussagen in der Schleife ein genannt Iteration der Schleife. In der Figur läuft die Schleife drei Iterationen. (Wenn Sie nicht glauben, dass die Figur genau drei Iterationen, zählen die Anzahl der Versuch es noch einmal Aufdrucke in der Ausgabe des Programms. EIN Versuch es noch einmal erscheint für jede falsche Vermutung.)

Als endlich gibt der Benutzer die richtige Vermutung, geht der Computer von der an die Spitze zurück während Anweisung, prüft die Bedingung in Klammern, und findet sich in Doppel doppelt negativ Land. Der nicht gleich (!=) Beziehung zwischen Inputnumber und Zufallszahl nicht mehr hält.

In anderen Worten, die während Erklärung der Bedingung, Inputnumber! = Random, ist falsch. Weil das während Erklärung der Bedingung falsch ist, wird der Computer über die Sprünge während Schleife und geht auf den Aussagen nur unter der während Schleife. In diesen beiden Aussagen, die Computerausdrucke Sie gewinnen nach 4 Vermutungen.

Mit Code der Art in der Auflistung gezeigt, springt der Computer nie in Mitte-Loop-out. Wenn der Computer feststellt, dass Inputnumber nicht gleich Zufallszahl, der Computer marschiert auf und führt alle fünf Anweisungen in geschweiften Klammern der Schleife. Der Computer führt den Test erneut (um zu sehen, ob Inputnumber ist immer noch nicht gleich Zufallszahl) Erst, nachdem es vollständig alle fünf Anweisungen in der Schleife ausgeführt wird.

Menü