[英]Converting output back to hours minutes seconds, after converting to seconds for comparison
我擁有的代碼可以正常工作,並且幾乎可以到達我想要的代碼,但是我希望system.out以小時分鍾和秒(而不是僅幾秒)顯示最快的運行時間,但是我仍然需要保持變量s一直轉換為秒來輕松比較數據。 只是不太確定如何在不中斷我的代碼的情況下將輸出恢復到數小時至數秒。
double fastesttime = 1000000;
int fastestrunnernumber = 1;
double slowesttime = -1000000;
int slowestrunnernumber = -1;
while (reader.hasNext() ) {
int runner = reader.nextInt();
int hours = reader.nextInt();
int minutes = reader.nextInt();
double seconds = reader.nextDouble();
if (minutes < 60 && seconds < 60) {
}
else {
System.out.println("Runner with invalid time: " + runner );
}
double s = ((hours * 3600) + (minutes * 60) + (seconds));
if (s < fastesttime) {
fastesttime = s;
fastestrunnernumber = runner;
}
if (s > slowesttime) {
slowesttime = s;
slowestrunnernumber = runner;
}
}
System.out.println("The fastest runner is " + fastestrunnernumber + " with the time " + fastesttime );
System.out.println("The slowest runner is " + slowestrunnernumber + " with the time " + slowesttime );
}
}
}
您有兩種選擇:將原始值保留在新變量中(fastest_hour,fastest_minute等),或最后進行除法,如下所示:
int hours=fastesttime/3600;
int rest=fastesttime%3600;
int minutes=rest/60;
int seconds=rest%60;
如果您看一下,您會發現這些是從轉換到秒的相反操作。
希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.