Geht es daum, die Zeitdifferenz zu errechnen, die sich beim Abfahren einer bestimmten Strecke mit zwei unterschiedlichen Geschwindigkeiten ergibt?
Die Geschwindigkeit
v=s/t mit s = weg (Distanz) und t= Zeit
Demnach gilt aber t = s/v, was man auch an den Einheiten sieht : m/(m/s) = s
Die Rechnung müsste meiner Meinung nach so aussehen:
t = z/x - z/y
wobei z entsprechend Deiner Notation die Distanz ist, und x und y die unterschiedlichen Geschwindigkeiten.
Dabei sollte x die kleinere Geschwindigkeit und y die größere sein, sonst wird das Ergebnis negativ. Zwar steckt im Vorzeichen Information, wenn die ohne Bedeutung ist, kann man auch den Absolutbetrag von t nehmen, oder so programmieren, ich mache das mal in Pseudosprache:
if (y > x)
{
t = z/x - z/y
andere Anweisungen
}
else
{
t = z/y - z/x
andere Anweisungen
}
Der Fall dass x = y, entsprechend t= 0 wird dann durch den else-Zweig abgefangen, wäre aber auch richtig, wenn man den Betrag von t nimmt.
In der Physik rechnet man üblicherweise mit Metern für Strecken und Sekunden für Zeiten, dementsprechend mit Meter/Sekunde für Geschwindigkeiten.
Man kann natürlich auch mit Kilometern für die Distanz und Stunden für die Zeit rechnen. Deine Zeit t ist dann i.d.R. eine Gleitkommazahl, bei der Ganzzahlanteil die ganze Zahl in Stunden, der Nachkommaanteil aber den Bruchteil einer Stunde, nicht direkt die der Minuten angibt. Da man aber weiss, das eine Stunde 60 Minuten hat, muss man den Nachkommaanteil nehmen und mit 60 multiplizieren, um die Minuten zu erhalten. Dabei kann sich wiederum eine Gleitkommazahl ergeben. Der Vorkommateil dieser Zahl sind dann die ganzen Minuten, der Nachkommaanteil * 60 die Sekunden. Würde mich aber wundern, wenn es für solche Zeitformatsumrechnungen nicht fertige Funktionen gäbe, aber dafür sind meine Javakenntnisse zu schwach.
— geändert am 26.05.2018, 02:07:59