Habt Ihr die Bedingung richtig gesetzt?
Das Programm so weit:
import java.util.Scanner; // Anwender wählt den Endwert für die Zeit, t // Das Programm berechnet und gibt die Entfernung aus, // die der Ziegelstein in der Zeit t zurückgelegt hat // class FallenderZiegelstein { public static void main (String[] args ) { final double G = 9.80665; // Konstante für Gravitationsbeschleunigung int t, zeit; // Zeit in Sekunden und Endwert der Zeit double entfernung; // die Entfernung, die der Ziegelstein zurückgelegt hat Scanner scan = new Scanner( System.in ); System.out.println( "Zeit in Sekunden:" ); zeit = scan.nextInt(); // Überschrift ausgeben System.out.println( "Sekunden\tEntfernung" ); System.out.println( "-------\t--------" ); t = 0 ; while ( t <= zeit ) { ; // Entfernung berechnen ; // Ergebnis ausgeben t = t + 1 ; } } }
Der Schleifenkörper wird für t
= 0, 1, 2, ..., zeit ausgeführt.
Am Ende der letzten Ausführung wird t
in (zeit+1) geändert.
Aber der Bedingungsausdruck wird die Ausführung des
Schleifenkörpers nicht erlauben, wenn t
(zeit+1) ist.
Lasst uns jetzt die Entfernung für jeden Wert von t
berechnen:
entfernung = (1/2)*G*t2
Wir übersetzen die Formel in eine Java Anweisung, um die erste Lücke auszufüllen. Aufgepasst: es gibt zwei Fallstricke!
Wir füllen die zwei Lücken aus. Für die Ausgabeanweisung verwenden wir ein Tabulator-Zeichen.