Hallo.
Ich möchte eine Methode schreiben, die die Zeit zum überholen von 2 gegebenen Autos(Geschwindigkeiten) berechnet und als Array in der Form [h:mn:s] ausgibt. Das klappt auch bis auf einen kleinen Fehler bei den Minuten ganz gut, dort bekomme ich nämlich immer eine Abweichung von 1 und weiss nicht woran es liegt.
edit: Es soll die Zeit berechnet werden, die Auto 2 zum einholen von Auto 1 braucht.
Hier mal die Methode
Ich möchte eine Methode schreiben, die die Zeit zum überholen von 2 gegebenen Autos(Geschwindigkeiten) berechnet und als Array in der Form [h:mn:s] ausgibt. Das klappt auch bis auf einen kleinen Fehler bei den Minuten ganz gut, dort bekomme ich nämlich immer eine Abweichung von 1 und weiss nicht woran es liegt.
edit: Es soll die Zeit berechnet werden, die Auto 2 zum einholen von Auto 1 braucht.
Hier mal die Methode
Java:
public static int[] race(int v1, int v2, int g){
if(v1>=v2) return null;
double t = (double)g/(v2-v1);
int h = (int)t;
if(t-(int)t != 0){
int mn = (int) ((t-(int)t)*60);
int s = (int)((((t-(int)t)*60)-mn)*60);
return new int[]{h,mn,s};
}
return new int[]{h,0,0};
}