我試圖解決一個任務,我必須做的就是計算星星時間和結束時間之間的秒數,比如一場比賽。格式爲hhmmss。以秒爲單位最後以小時和分鐘計算結果。這是一個非目標編程的初學者課程,所以我使用的代碼必須簡單,沒有任何額外的類來處理時間。我問的原因是因爲我的計算有時會計算出錯誤的結果。我做了這樣的事情:計算Java中開始和結束之間的秒數?
totalAmountOfSecondsPerHour = (endHour - startHour) * 3600;
totalAmountOfMinutesPerMinutes = Math.abs((endMinutes - startMinutes) * 60);
totalAmountOfSeconds = Math.abs(endSeconds - startSeconds));
我使用Math.abs來擺脫負數。
要獲得以秒爲單位的總金額,我添加所有變量。最後得到的HHMMSS結果時我這樣做:
resultHour = totalAmountOfSeconds/3600;
rest totalAmountOfSeconds % 3600;
resultMinutes = rest/60;
resultSeconds = rest % 60;
當我輸入出發時間像150030和結束時間,像165015的結果是1小時50分鐘15秒。我想我應該更正確,如果它是45秒!?我的計算有什麼不對?有沒有更好的方法,或者我可以修改或簡化我的代碼,做出正確的結果?請提供一些幫助!謝謝!
我會擺脫Math.abs檢查,因爲LastCoder指出,你失去了你的精度。我只是做一個檢查,以確保endSeconds> = startSeconds。如果沒有,退出。 –
你從哪裏開始並結束變量? –