Java 程式設計()  第八章 方法與方法庫產生  上一頁    

 

8-5 專題 研討:方法庫運用

內容:

  • 8-5-1 自我挑戰:國際機場停車計費

  • 8-5-2 自我挑戰:預產期計算系統

8-5-1 自我挑戰:國際機場停車計費

A)程式功能:PM8_3.java

許多人為了方便,短期出國都將汽車停放於國際機場的停車場內,造成停車場內一位難求的情況,民航局只好祭出絕招,完全計時收費。計費方法是不滿 30 分鐘不收費,之後每 30 分鐘收費 20 元,無論停多久(幾天幾夜)都計時收費。因此需要一套計費系統,管理員輸入車輛進出的日期與時間之後,計算出應繳多少停車費。期望操作介面如下:

G:\Examples\chap11\PM8_3>java PM8_3

請輸入車輛進入日期(//) =>2007/8/20

進入時間(//) =>12/30/40

請輸入車輛出場日期(//) =>2007/9/4

出場時間(//) =>10/30/50

 

該車輛進入時刻是 2007 8 20 12 30 40

 

      出場時刻是 2007 9 4 10 30 50

 

停車費合計: 14300

B)製作技巧提示:

本範例可引用 Ex8_3 所製作的時間/日期的工具套件。計算兩時刻之間的差距,日期工具是 dateInterval(),時間工具是 timeInterval()。其中有個特殊的地方,如果兩者相距的時數(tempTime.hour)比起始時間的時數(entraTime.hour)高的話,表示已過了另外一天,則元計算出來的天數需要再扣除一。虛擬碼提示如下:

// 需設定環境變數 > set classpath=G:\Examples\timeDate;.

 

import dateTool.dateTool;

import dateTool.Date;

import timeTool.timeTool;

import timeTool.Time;

…..

…..

輸入車輛進入日期與時間(entraDate, entraTime);

輸入車輛出場日期與時間(outDate, outTime);

計算日期距離(tempDays = dateTool.dateInterval(entraDate, outDate);

計算時間差距距離 (Time 格式)

         tempTime = tool.timeInterval(entraTime, outTime);

         if (tempTime.hour > outTime.hour)

             tempDays = tempDays - 1;

/*計算停車費用與輸出:

         int cost;

         int value = (tempDays*24 + tempTime.hour)*60 + tempTime.minute;

         if (value < 30)

             cost = 0;

         else {

             value = value -30;

             cost = value/30 * 20;

         }

         System.out.printf("\n停車費合計: %d\n", cost);

8-5-2 自我挑戰:預產期計算系統

(A) 系統功能

(1) 請幫家扶中心建立一套婦女安全期預估日期。基本上,受孕危險期是月經來朝日的前 14 天的前後 3 天,又每次月經週期為 28 天(取平均值)。使用者只要輸入這次月經來朝日期,則系統可顯示下一週期哪幾天是安全期,哪幾天是危險期。婦女再依此訊息決定是否要受孕懷胎。(引用 dateTool 方法套件)

(2) 家扶中心期望建立一套預產期計算系統,受孕婦女輸入上一次月經日期,則系統會計算懷孕中胎兒成長過程的重要日期,並告知婦女應注意的事項。預計系統顯示下列重要日期與注意事項:

(a) 胎兒著床的日期:約是最後一次月經週期後的兩週(14 天),這是小BABY生命在這個世界形成的第一天喔。

(b) 大約是在5-10週的時候(顯示第 5 10 週兩個日期):是最不穩定的一段時間,這時期要特別小心喔,要避免提重物或太勞累,有些人可能晨間會嘔吐或害喜的很厲害。

(c) 懷孕的第12:第一妊娠期已經過了,前三個月難過的害喜應該已經不會了,這時間應該多運動以及到醫院作一些胎兒先天性異常的篩檢。

(d) 懷孕的第23:這個時候可能有些媽媽的體重增加的很快吧,要記得來醫院作妊娠糖尿病以及妊娠毒血症的篩檢喔以及飲食要開始好好的控制了。

(e) 懷孕的第27:第二妊娠期又過了,這時應該開始準備嬰兒的用品了,醫師已經可以用超音波看出寶寶的性別了,媽媽應該開始與醫師討論生產的方式,準備自然產的媽媽應該開始參加『拉梅姿課程』了。

(f) 懷孕的第40:親愛的媽咪恭喜妳囉,這是妳的預產期,可能會有一些差距,不過先跟家裡的人計劃好唷,有產兆時要如何到醫院,住院生產時要用的東西先打包好並放在隨時都方便拿到的地方喔。

家扶中心希望在網路公布此計算系統,婦女只要輸入上次月經日期,則系統會顯示上述日期與相關注意事項。(引用 dateTool 方法套件)

 

翻轉工作室:粘添壽

 

Java 程式設計(二) 含物件導向

 

 

翻轉電子書系列: