Haben Sie die Bedingung exakt richtig gesetzt?
Das Programm so weit:
import java.io.*;
// 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 ) throws IOException
{
final double G = 9.80665; // Konstante für Gravitationsbeschleunigung
int t, limit; // Zeit in Sekunden und Endwert der Zeit
double entfernung; // die Entfernung, die der Ziegelstein zurückgelegt hat
BufferedReader userIn = new BufferedReader (new InputStreamReader(System.in));
String inputData;
System.out.println( "Geben Sie den Grenzwert ein:" );
inputData = userIn.readLine();
limit = Integer.parseInt( inputData );
// Überschrift ausgeben
System.out.println( "Sekunden\tEntfernung" );
System.out.println( "-------\t--------" );
t = 0 ;
while ( t <= limit )
{
__________________ // Entfernung berechnen
__________________ // Ergebnis ausgeben
t = t + 1 ;
}
}
}
Der Schleifenkörper wird für t = 0, 1, 2, ..., limit ausgeführt.
Am Ende der letzten Ausführung wird t in (limit+1) geändert.
Aber der Bedingungsausdruck wird die Ausführung des
Schleifenkörpers nicht erlauben, wenn t (limit+1) ist.
Lassen Sie uns jetzt die Entfernung für jeden Wert von t berechnen:
entfernung = (1/2)*G*t2
Übersetzen Sie die Formel in eine Java Anweisung um die erste Lücke auszufüllen. Passen Sie auf: es gibt zwei Fallstricke!