Distanz loop-Hilfe-Java
Ich habe Regale mein Gehirn versucht herauszufinden, warum mein Programm ist nicht die Schleife rechts. Anstatt " jede Stunde-Schritten bin ich nur immer die Letzte Stunde/Geschwindigkeit. Wenn ich also, dass werde ich auch 40 km /h für 3 Stunden bekomme ich nur 120.
Hier ist das problem:
Die Entfernung, die ein Fahrzeug fährt, kann wie folgt berechnet werden:
Entfernung = Geschwindigkeit * Zeit
Zum Beispiel, wenn ein Zug fährt 40 Kilometer pro Stunde für drei Stunden, die Strecke ist 120 Kilometer. Schreiben Sie ein Programm, das fragt nach der Geschwindigkeit des Fahrzeugs (in km /h) und die Anzahl der Stunden, die es zurückgelegt hat. Es sollte eine Schleife verwenden, um die Anzeige der Entfernung, die ein Fahrzeug zurückgelegt hat für jede Stunde ein Zeitraum, den der Benutzer angegeben. Zum Beispiel, wenn ein Fahrzeug bei einer Fahrgeschwindigkeit von 40 km /h für eine drei-Stunden-Frist, es sollte anzeigen, einen Bericht ähnlich der folgenden:
Stunde Strecke
1 40
2 80
3 120
import java.util.Scanner;
public class Distance{
public static void main(String [] args){
Scanner keyboard = new Scanner(System.in);
int time , speed , hour;
double distance;
System.out.println("How fast were you going ?");
speed = keyboard.nextInt();
while(speed<=0)
{
System.out.println("Please enter a valid speed ");
speed = keyboard.nextInt();
}
System.out.println(" How long did you ride /drive ?");
time = keyboard.nextInt();
while(time<=0)
{
System.out.println("Please enter a valid time ");
time = keyboard.nextInt();
}
System.out.println(" Hour Distance");
System.out.println("---------------------------------");
hour = 0;
for( int x = 1; x<=time; x++)
{
hour++;
if(hour>1)
{
distance = time * speed;
System.out.println(time+ " " +distance);
}
}
}
}
distance = hour * speed;
stattdistance = time * speed;
- Auch in deiner for-Schleife, können Sie einfach
x
statthour
. Wenn es hilft, können Sie loswerden der alle Instanzen vonhour
ersten, und nur umbenennenhour
zux
Du musst angemeldet sein, um einen Kommentar abzugeben.
Löschen der Variablen
hour
unddistance
.Ändern Sie den Namen der loop-variable aus
x
zuhour
.Einfach Ihre Schleife:
Beachten Sie, dass wenn Sie haben verwendet Ihre
distance
variable, es war eindouble
was ist die falsche Art, weil:int
, also Abstand mussint
double
hat ein Komma, aber deine Anforderungen nicht zeigen, dass manverwenden Stunde innerhalb der Schleife statt der Zeit,
oder benutzen Sie einfach x