Antwort:
- Die Anfangswerte müssen richtig festgelegt sein.
- Die Bedingung in der
while-Schleife muss richtig sein. - Die Änderung der Variable(n) muss richtig vorgenommen werden.
Um zwei hochzählen
Wenn wir einen dieser drei Teile ändern, wird die Schleife etwas anderes tun.
Hier ist ein Abschnitt eines Java Programms, das um zwei hochzählt:
zaehler ist: 0 zaehler ist: 2 zaehler ist: 4 zaehler ist: 6 Fertig mit dem Hochzählen um 2.
int zaehler = 0; // zaehler wird initialisiert while ( zaehler <= 6 ) // zaehler wird getested { System.out.println( "zaehler ist: " + zaehler ); zaehler = zaehler + 2; // zaehler wird um 2 erhöht } System.out.println( "Fertig mit dem Hochzählen um 2." );
Hier kommt was Schritt für Schritt passiert:
zaehlerwird mit 0 initialisiert.- Die Bedingung
zaehler <= 6wird mit TRUE ausgewertet. - Der Schleifenkörper wird ausgeführt:
- Gibt aus: "zaehler ist: 0".
zaehlerwird um 2 hochgezählt.zaehlerist jetzt 2.
- Die Bedingung
zaehler <= 6wird mit TRUE ausgewertet. - Der Schleifenkörper wird ausgeführt:
- Gibt aus: "zaehler ist: 2".
zaehlerwird um 2 hochgezählt.zaehlerist jetzt 4.
- Die Bedingung
zaehler <= 6wird mit TRUE ausgewertet.
- Der Schleifenkörper wird ausgeführt:
- Gibt aus: "zaehler ist: 4".
zaehlerwird um 2 hochgezählt.zaehlerist jeztt 6.
- Die Bedingung
zaehler <= 6wird mit TRUE ausgewertet. - Der Schleifenkörper wird ausgeführt:
- Gibt aus: "zaehler ist: 6"
zaehlerwird um 2 hochgezählt.zaehlerist jetzt 8.
- Die Bedingung
zaehler <= 6wird mit FALSE ausgewertet.. - Der Schleifenkörper wird übersprungen und die Anweisung nach der Schleife wird ausgeführt.
- Sie gibt aus: "Fertig mit dem Hochzählen um 2."
FRAGE 2:
Nehmen wir eine Änderung am Programmfragment vor. Wir werden die Initialisierung von zaehler ändern in:
int zaehler = 1;
Was gibt das Programm aus?
(Das ist ein leicht knifflige Frage. Bitte nehmt Euch für die Antwort Zeit.)