使用java設計一個名為Time的類
使用java設計一個名為Time的類,這個類包含:
①表示時間的資料域hour,minute和second
②一個以當前時間建立Time物件的無引數構造方法(使用System.currentTimeMillis()獲取當前時間)
③一個構造Time物件的構造方法,以一個指定的流逝時間值來構造Time物件,這個值從1970年1月1日午夜開始到現在流逝的以毫秒錶示的值(資料域的值表示這個時間)
④以指定的小時、分鐘、和秒來構造Time物件的構造方法
⑤三個資料域hour,minute,second各自的獲取方法
⑥一個名為setTime(long elapsedTime)的方法使用流逝的時間給物件設定一個新的時間。例如,如果流逝的時間是555550000毫秒,則轉換為10小時,10分鐘,10秒。提示:555550000 轉換的過程如下:
totalSeconds = 555550000 / 1000;
second = (int)(totalSeconds % 60);
otalMinutes = totalSeconds / 60;
minute = (int)(totalMinutes % 60);
totalHours = (int)(totalMinutes / 60);
hour = (int)(totalHours % 24);
⑦一個名為setTime(int hour, int minute, int second)的方法給物件設定一個新的時間。
⑧定義名為toString()的方法,返回字串型別,格式如下:
return "Hour: " + this.hour + " Minute: " + this.minute + " Second: " + this.second;
⑨建立三個Time物件(使用new Time(),new Time(555550000)和new Time(3,80,3700)),然後顯示它們的小時,分鐘和秒。
以下為程式碼:
public class Time {
private int hour;
private int minute;
private int second;
Time() {
this(System.currentTimeMillis());
}
//傳入以毫秒計時的引數
Time(long time) {
setTime(time);
}
//傳入小時、分鐘、秒,因為使用者輸入的資料可能小於零,此處丟擲異常
Time(int hour, int minute, int second) throws IllegalArgumentException {
if (hour < 0 || minute < 0 || second < 0) {
System.out.println("輸入的時間有誤");
throw new IllegalArgumentException();
}
//此處用於分析使用者輸入的時間進行修改
//如使用者輸入的是3600秒,則我們需要為hour增加一個小時
int seconds = second/60;
this.second = second%60;
int minutes = (minute + seconds)/60;
this.minute = (minute + seconds)%60;
this.hour = (hour + minutes)%24;
}
public void setTime(long elapsedTime) {
double totalSeconds = elapsedTime / 1000;
second = (int) (totalSeconds % 60);
double totalMinutes = totalSeconds / 60;
minute = (int) (totalMinutes % 60);
double totalHours = (int) (totalMinutes / 60);
hour = (int) (totalHours % 24);
}
@Override
public String toString() {
return "Hour: " + this.hour + " Minute: " + this.minute + " Second: " + this.second;
}
public static void main(String[] args) {
Time t1 = new Time();
Time t2 = new Time(555550000);
Time t3 = null;
try{
t3 = new Time(3,80,3700);
}catch (Exception e){
}
System.out.println(t1.toString());
System.out.println(t2.toString());
System.out.println(t3.toString());
}
}
相關文章
- 4.7(java)為一元二次方程ax²+bx+c = 0設計一個名為QuadraticEquation的類。這個類包括:Java
- 如何成為一名合格的(Java)程式設計師Java程式設計師
- 成為一名優秀程式設計師(&人類)的 101 個技巧程式設計師
- Java基礎-設計一個Java類所需的方法(轉)Java
- 如何成為一名 Java 冠軍程式設計師?Java程式設計師
- 如何成為一名Java冠軍程式設計師Java程式設計師
- 作為一個Java程式設計師,這 8 個開源類庫你必須知道!Java程式設計師
- 一個好的設計簽名軟體
- java的一個類!Java
- 設計模式-單例模式的Java程式碼體現Runtime類設計模式單例Java
- 簡單設計一個JAVA並行處理工具類Java並行
- 一個專為程式設計師設計的精緻 Java 部落格系統程式設計師Java
- 10個習慣助你成為一名優秀的程式設計師程式設計師
- 成為一名優秀網頁設計師的10個建議網頁
- 為什麼每個Java的類欄位預設要設為finalJava
- 為什麼成為一名程式設計師?程式設計師
- 淺析 Bootstrap 的 CSS 類名設計bootCSS
- 如何成為一名成功的程式設計師程式設計師
- JAVA常用類--Runtime類Java
- 如何使用搜尋技巧來成為一名高效的程式設計師程式設計師
- java併發程式設計:Thread類的使用Java程式設計thread
- Java中可以宣告一個類為Static嗎?Java
- Android studio 如何設計一個較為好看的使用者名稱,密碼輸入框Android密碼
- 你為什麼成為一名程式設計師?程式設計師
- 一名好程式設計師的15個特徵程式設計師特徵
- 為了設計這個計程車遊戲,開發者真的成為了一名網約車司機遊戲
- 如何成為一名自豪的遊戲程式設計師遊戲程式設計師
- java--Runtime類Java
- Java網路程式設計之使用URL類Java程式設計
- 為什麼你的設計團隊中需要一名程式設計師?程式設計師
- 一個Java類的載入Java
- 成為一名好程式設計師的關鍵因素程式設計師
- 如何成為一名專家級的程式設計師程式設計師
- 如何成為一名真正專業的程式設計師程式設計師
- 成為一名程式設計師要做的幾件事情程式設計師
- 來自阿里的P7高階程式設計師教你如何成為一名合格的Java程式設計師阿里程式設計師Java
- 使用TimeSpanC#中使用TimeSpan計算兩個時間的差值C#
- 想要成為一名程式設計師,怎麼選一個靠譜的IT培訓機構?程式設計師