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.)
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.