Erinnert Euch 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 ; // vergewissert Euch, // dass Ihr "Punkt 0" hinzufügt 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.)
Angenommen wir 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 schwieriger, da der Anwender nach einer beliebigen Anzahl von Sternen pro Zeile fragen kann und ein einzelnes
println
das nicht tun kann.
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.