zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Erinnern Sie sich daran, dass für maximale Genauigkeit die Schleifenkontrollvariable vom Typ Integer sein sollte. Also sollte die modifizierte Schleife wie diese aussehen:

double t = 0.0 ;
int zehntel = 0 ;
while (  zehntel <= zeit*10 )
{
  t = zehntel/10.0 ;        // vergewissern Sie sich,
                            // dass Sie "Punkt 0" hinzufügen
  entfernung = (G * t * t) / 2 ;
  System.out.println( t + "\t" + entfernung );

  zehntel = zehntel + 1 ;
}

Es ist am besten die Formel so zu lassen wie sie im vorherigen Programm war und die Berechnung von t in zehntel in einer extra Anweisung zu handhaben. (Manche versuchen die extra Anweisung wegzulassen, indem Sie die Formel modifizieren, aber das spart wenig oder keine Computerzeit und bringt möglicherweise Verwirrung und Fehler mit sich.)

Reihen von Sternen

Angenommen Sie brauchen ein Programm, das fünf Reihen von Sternen ausgibt, so wie das folgende:

*******
*******
*******
*******
*******

Das wird mit einer while-Schleife getan, die fünfmal ausgeführt wird (die den Schleifenkörper fünfmal ausführt). Jede Iteration verwendet System.out.println("*******"). Aber es ist besser wenn der Anwender die Anzahl der Zeilen und die Anzahl der Sterne eingeben kann:

Zeilen?
3
Sterne pro Zeile?
13
*************
*************
*************

Das ist schwierig, da der Anwender nach einer beliebigen Anzahl von Sternen pro Zeile fragen kann und ein einzelnes println das nicht tun kann.

FRAGE 16:

Kann eine Zählschleife, so wie wir sie verwendet haben, eingesetzt werden, um durch die Anzahl der Zeilen zu zählen, die vom Anwender verlangt werden.