先貼上顯示結果,
這裡一併將錯誤結果跟正常結果顯示出來:
D:\My Documents\Java\hw04\src>java s11967046 07 35 00
物件導向程式課程上課時間為:7點35分0秒
D:\My Documents\Java\hw04\src>java s11967046 99 00 00
小時時間輸入格式錯誤!!
D:\My Documents\Java\hw04\src>java s11967046 00 99 00
分鐘時間輸入格式錯誤!!
D:\My Documents\Java\hw04\src>java s11967046 00 00 88
秒數時間輸入格式錯誤!!
老師的題目中,要求使用setTime來設定時間資料,這個方法是要設定甚麼看不太懂-”-我的猜測是將時間後面多加個點分秒吧?各位也可以自己加些功能,比方說使用者輸入19點,輸出會變成下午7點,這也是不錯的應用吧?
另外,我的寫法只是提供參考,畢竟還是Java新手XD
(大家記得註解要自己重新打過唷)
public class s11967046 {
public static void main(String[] args) {
// 11967046
/*
* 請撰寫兩個類別,名稱分別為Time、主類別
* (主類別名稱請以自己學號命名)。在Time類別中,
* 設計: 1. validateTime(int h, int m, int s)
* ==>驗證輸入時間是否在範圍內
* 2. setTime(int h, int m, int s)==>
* 設定時間資料
* 3. getHour()、getMinute()、getSecond()
* ==>取得時、分、秒
* 4. printTime()
* ==>輸出時、分、秒方法。
* 在主類別中,利用args參數輸入方式設定時、分、秒,
* 並使用Time中的setTime、getXXX()、printTime方法
* ,並輸出"物件導向程式課程上課時間為:??點??分??秒"
* 若輸入時間格式錯誤,請輸出"??時間輸入格式錯誤!!"
* 例如: “小時時間輸入格式錯誤!!”、”分鐘時間輸入格式錯誤!!
* 、”秒數時間輸入格式錯誤!!”
* */
int h,m,s; //擷取args參數內容
//將args參數從字串轉成整數
h=Integer.parseInt(args[0]);
m=Integer.parseInt(args[1]);
s=Integer.parseInt(args[2]);
//檢查時間是否錯誤
if(Time.validateTime(h, m, s)){
//輸出現在幾點鐘
Time.printTime();
}
}
}
class Time{
static String hour = new String();
static String minute = new String();
static String second = new String();
public static boolean validateTime(int h, int m, int s){
//如果時間的格式錯誤,回傳false
if(h>=24 || h<0){
System.out.print("小時時間輸入格式錯誤!!");
return false;
}else if(m>=60 || m<0){
System.out.print("分鐘時間輸入格式錯誤!!");
return false;
}else if(s>=60 || s<0){
System.out.print("秒數時間輸入格式錯誤!!");
return false;
}else{
//設定時間格式
setTime(h, m, s);
return true;
}
}
public static void setTime(int h, int m, int s){
/*將時間設為??點??分??秒,
* 不過我不確定老師的用意是不是這樣?
*/
hour=h+"點";
minute=m+"分";
second=s+"秒";
}
public static String getHour() {
//回傳小時
return hour;
}
public static String getMinute(){
//回傳分鐘
return minute;
}
public static String getSecond(){
//回傳秒鐘
return second;
}
public static void printTime(){
//輸出
System.out.print("物件導向程式課程上課時間為:" + getHour()+getMinute()+getSecond());
}
}
沒有留言:
張貼留言
歡迎提供良性建議^_^