目錄
<a name="背景介紹"></a>
背景介紹
題目描述:小明根據(jù)報(bào)名的人數(shù)預(yù)定若干球場,每個(gè)參加活動(dòng)的人支付
30元兆览,而小明要想球館支付總費(fèi)用啦粹。
題目求解:一段時(shí)間后,需要計(jì)算小明的出納情況宝恶。
按照題目給出的條件乘综,可以得出訂場策略如下:
- 記參加一次活動(dòng)的人數(shù)為M
- T為可以立即確定的場地書憎账,其計(jì)算公式為
M/6
- 記X為多出來的人數(shù),其計(jì)算公式為
M%6
T | X | 訂場策略 |
---|---|---|
0 | <4 | 取消活動(dòng) |
0 | >=4 | 共訂一場 |
1 | <4 | 共訂兩場 |
2或3 | >=4 | 多訂一場 |
>3 | 任意 | 不多訂場 |
小明選擇的每塊場地的收費(fèi)標(biāo)準(zhǔn)如下:
- 周一到周五
- 9:00~12:00 30元/時(shí)
- 12:00~18:00 50元/時(shí)
- 18:00~20:00 80元/時(shí)
- 20:00~22:00 60元/時(shí)
- 周六及周日
- 9:00~12:00 40元/時(shí)
- 12:00~18:00 50元/時(shí)
- 18:00~22:00 60元/時(shí)
輸入為字符串卡辰,其格式定義為
每一行代表一次活動(dòng)胞皱,其格式為{活動(dòng)時(shí)間 yyyy-MM-dd HH:mm~HH:mm} {人數(shù)}
每一行的時(shí)間不會有重疊,其時(shí)間必然是整小時(shí)九妈。
<a name="設(shè)計(jì)思路"></a>
設(shè)計(jì)思路
將每次活動(dòng)得出的結(jié)果視為一個(gè)對象
DetailSal
反砌,將其封裝成為javaBean
根據(jù)題目給出的輸出格式,可以得出其屬性共有萌朱,活動(dòng)時(shí)間宴树,具體時(shí)刻,活動(dòng)支出晶疼,活動(dòng)收入酒贬,活動(dòng)凈收入根據(jù)人數(shù)算出需要的場地?cái)?shù)
private static int getMatchCount(int peoCount)
,peoCount為參加
本次活動(dòng)的人數(shù),函數(shù)返回值為得到的參加的場次數(shù)翠霍。條件中給出的為GMT時(shí)間锭吨,而場館收費(fèi)是按照星期制的,所以需要完成轉(zhuǎn)換
private static int dayForWeek(String daytime)
daytime為輸入的時(shí)間格式,返回值直接對應(yīng)題目條件在本體中寒匙,收費(fèi)是按照時(shí)段收費(fèi)的零如,所以需要按照參加活動(dòng)的時(shí)間,進(jìn)行分段處理。
private static boolean isIntime(String clockArea,int startClock)
是判斷開始的時(shí)間是否在一個(gè)時(shí)間范圍內(nèi)考蕾,判斷完成后按照此段時(shí)間的計(jì)算公式即可得出最后結(jié)果祸憋,計(jì)算最后收費(fèi)的函數(shù)為private static int getDetailSal(int beginClock,int stopClock,int startClock,int lastClock,int dayForweek)
此函數(shù)返回本次活動(dòng)單場的費(fèi)用,在getSalary()
函數(shù)中與得到的場次數(shù)運(yùn)算肖卧,可得出本次活動(dòng)的最后結(jié)果夺衍。在函數(shù)
public static DetailSal generateSummary(String input)
中完成對于輸入格式的檢驗(yàn),如果出錯(cuò)的話喜命,進(jìn)行錯(cuò)誤記錄
并完成對象的賦值工作沟沙,并在main函數(shù)對于結(jié)果進(jìn)行匯總和輸出。
<a name="使用說明"></a>
使用說明
<a name="代碼導(dǎo)入"></a>
- 代碼導(dǎo)入
- 在Eclispe的“Package Explorer”面板中右鍵壁榕,在彈出的快捷菜單中找到“Import”并點(diǎn)擊
- 在"Import"窗口中選擇要導(dǎo)入的工程類型(本次導(dǎo)入類型為Exist File System)矛紫,當(dāng)然也可以使用搜索框進(jìn)行關(guān)鍵字搜索,快速定位到工程類型
- 選擇目標(biāo)tennis工程所在位置牌里,選定后點(diǎn)擊"Finish"
- 正常導(dǎo)入后颊咬,會在“Package Explorer”看到你所導(dǎo)入的工程
<a name="運(yùn)行代碼"></a>
- 代碼運(yùn)行
*導(dǎo)入代碼以后
<a name="文件結(jié)構(gòu)"></a>
目錄結(jié)構(gòu)描述
├── Readme.md // help
├── bin // 二進(jìn)制文件
│ ├── com
│ ├── test
│ └── UnitType
│
├── src // 代碼區(qū)域
│ ├── com // 主程序
│ ├── test //單元測試
│ └── UnitType // 對象
├── .classpath //classPath文件
├── .project //project文件
└── tools