zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Wie sollte die Zuweisungsanweisung vervollständigt werden, damit die Schleife endet?

Antwort:

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");

Um Zehntel hochzählen

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.

FRAGE 11:

Füllen Sie die Lücken aus, so dass der Variablen zahl die von uns gewünschten Werte zugewiesen werden: 0.0, 0.1, 0.2, ... 1.0, 1.1, ... 9.8, 9.9, 10.0.