Wie sollte die Zuweisungsanweisung vervollständigt werden, damit die Schleife endet?
int zaehler = 10;
int inkrement = -1;
while ( zaehler < 100 ) // prüfen Sie den relationalen Operator
{
System.out.println( "Zaehler ist:" + zaehler );
zaehler = zaehler - inkrement;
}
System.out.println( "zaehler war " + zaehler + " als er den Test nicht bestand");
Das oben stehende Programmfragment ist logisch korrekt, aber schlecht geschrieben, da es schwieriger zu verstehen (und daher fehleranfälliger) ist als die folgende Version, die genau das gleiche tut:
int zaehler = 10; int inkrement = 1; while ( zaehler < 100 ) // prüfen Sie den relationalen Operator { System.out.println( "Zaehler ist:" + zaehler ); zaehler = zaehler + inkrement; } System.out.println( "zaehler war " + zaehler + " als er den Test nicht bestand");
Aber, Sie könnten keine Kontrolle über die Werte
für zaehler
und inkrement
haben.
Die Werte könnten als Input-Daten kommen.
Sie könnten eine Schleife schreiben müssen, die damit korrekt umgeht.
Hier ist ein Programmfragment, das um Zehntel hochzählt,
d. h. 0.0, 0.1, 0.2, 0.3 und so weiter bis 10.0.
Diese Werte sollten in die Variable zahl
gestellt werden.
double zahl ; int zehntel = 0; int inkrement = ____________ // wählen Sie einen Inkrementwert while ( zehntel <= ____________ ) // setzen Sie den Grenzwert { zahl = ____________ // den aktuellen Wert berechnen System.out.println( "Zahl:" + zahl ); zehntel = zehntel + inkrement ; } System.out.println( "Fertig");
Dieses Programm ist ein Beispiel einer alltäglichen Situation: der aktuelle Wert, der Sie interessiert ist nicht die Schleifenkontrollvariable, sondern ein Wert, der auf der Basis der Schleifenkontrollvariablen berechnet wird.