Zadatak mi je da napravim program koji simulira jednu trku, da unesem podatke pocetka i kraj trke, znaci startHour,startMinute,startSecond - >< - endHour,endMinute,endSecond, i da dobijem to vrijeme koje je trajalo.
Prvi problem mi je bio da program pokaze tacno vrijeme, znaci dok god je endHour,endMinute,endSecond bio veci od startH,M,S pokazivalo je ok rezultat, ali cim je end,M,S bio manji od start,M,S onda bi program pokazivao recimo 1sat -5minute -5 sekundi.
Nesto sam iz kombinovao i napravio da pokaze negativno vrijeme, ali sada dodaje extra vrijeme u minute i sekunde umjesto da prebaci na Hour on pokaze 0sati 65minute 65sekunde.
Recimo primjer
Start
startHour: 15
startMinute: 10
startSecond: 10
End
endHour: 16
endMinute: 05
endSecond 05
rezultat bude 0 : 55 : 55, kao sto treba da bude.
Ali ako napisem ovako:
Start
startHour: 15
startMinute: 10
startSecond: 10
End
endHour: 16
endMinute: 15
endSecond : 15
rezultat bude 0 : 65 : 65trebalo bi da bude 1 : 05 : 05Kako da napravim da pokaze program korektno vrijeme?? Hvala vam unaprijed!
Evo Java kod:
Kod:
import javax.swing.*;
import java.text.SimpleDateFormat;
public class e
{
public static void main(String[] args)
{
// Variabler
int start = 0;
int end = 0;
int startHour = 0;
int startMinute = 0;
int startSecond = 0;
int endHour = 0;
int endMinute = 0;
int endSecond = 0;
//Inmatning
startHour = Integer.parseInt(JOptionPane.showInputDialog("Start Hour"));
startMinute = Integer.parseInt(JOptionPane.showInputDialog("Start Minute"));
startSecond = Integer.parseInt(JOptionPane.showInputDialog("Start Second"));
endHour = Integer.parseInt(JOptionPane.showInputDialog("End Hour"));
endMinute = Integer.parseInt(JOptionPane.showInputDialog("End Minute"));
endSecond = Integer.parseInt(JOptionPane.showInputDialog("End Second"));
//Bearbeting
start = startHour*60*60 + startMinute*60 + startSecond;
end = endHour*60*60 + endMinute*60 + endSecond;
startHour -= start / 3600;
endHour -= end / 3600;
startMinute = start / 60;
endMinute = end / 60;
startSecond = start / 60;
endSecond = end / 60;
//Utskrift
JOptionPane.showMessageDialog(null, " Time Result: " + (endHour - startHour) + " Hours " + (endMinute - startMinute) + " Minutes " + (endSecond - startSecond) + " Seconds ");
}
}