[HackerRank]圖書館罰款(Library Fine)

題目描述

您附近的圖書館需要您的幫助!給定圖書館借出的書籍之預期和實際歸還的時間,建立一個能計算出逾期罰款的程式。

逾期罰款的規定如下:

如果書是在預期歸還時間還的話,不用繳任何的罰款(fine=0)。
如果書是超過預期歸還時間,且是在同一個月才還的話,那麼要繳交的罰款為fine=15*逾期天數。
如果書是超過預期歸還時間,且是在同一個年才還的話,那麼要繳交的罰款為fine=500*逾期月數。
如果書是超過預期歸還時間才還,且是在隔年才還的話,那麼要繳交的罰款為fine=10000。

原題網址

https://www.hackerrank.com/challenges/library-fine

輸入格式

第一行包含三個整數,分別表示天、月、年的數字,為書實際歸還的日期。
第二行包含三個整數,分別表示天、月、年的數字,為書預期歸還的日期。

輸入的日期數字範圍絕對是合法的西曆日期。

輸出格式

輸出罰款(fine)的值。

範例輸入

9 6 2015
6 6 2015

範例輸出

45

額外解釋

實際歸還時間:2015/6/9
預期歸還時間: 2015/6/6

因為都是在2015年,且都是在6月。接著比較日期的時候可以發現,實際歸還的日期比預期歸還的日期還要晚3天,所以罰款為15*3=45。

解題概念

可以利用Java 8提供的日期與時間的API,使用輸入的日期建立LocalDate物件,來判斷日期的先後,如果有逾期,再套用公式計算罰款即可。

參考答案

關於作者

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章