好吧,這是家庭作業,我掙扎了一下,我不知道要傳入toString方法什麼,我不太確定我的方法獲取當前和消逝的時間是正確的。然後我必須將它傳遞給主方法並在輸出語句中顯示時間。這不是我的問題,我只能有3個變量,我怎麼能從當前時間算出已用時間,並仍然保持原來的小時,秒,分鐘變量而不改變它們,這樣來自兩個時間構造函數的所有數據都保存在那些變量?我希望我是有道理的。感謝任何輸入Java時間類
package chapter_10;
public class Time {
private long hour;
private long minute;
private long second;
public void time() {
long second = System.currentTimeMillis();
long minute = System.currentTimeMillis();
long hour = System.currentTimeMillis();
}
public void setTime(long elapsedTime){
long millisecond = System.currentTimeMillis();
long second = millisecond/1000;
long minute = second/60;
long hour = minute /60;
}
public long getHour() {
return hour;
}
public long getMinute() {
return minute;
}
public long getSecond() {
return second;
}
public String toString(){
return // what should i return here, String.towhat?
}
}
這是分配,只是澄清。 時間等級:
給它3個私人數據成員分小時,分,秒。使用long或int類型。 如果你使用int,你必須投射到ctors中。 添加一個無參數ctor,它使用p38上代碼2.6中的代碼將 的值分配給當前時間的小時,分鍾和秒。 添加另一個ctor,它將採用名爲elapseTime的單個長參數(更好的 將爲elapsedTime),這是自Unix紀元日期以來的毫秒數。 這個第二個ctor也將使用代碼,如代碼2.6所示,設置數據成員 自該紀元以來經過的時間。 第三個ctor是沒有必要的。 爲每個數據成員添加一個getter。每個吸氣器只需要一個聲明。 吸氣劑是必需的,因爲數據成員是私人的。 添加一個toString方法,該方法返回Time對象的小時,分鍾和秒。 主類:
在主要方法中使用無參數ctor創建一個Time對象。 與另一個ctor創建幾個時間對象。 顯示您實例化的每個對象的時間。
我明白你在說什麼,我省略了我的第二個=「等等」中的「長」,我不需要聲明它,因爲它已經完成了,當我在我的程序中聲明它們爲私人頂端 – Gmenfan83
@Jason :這不僅僅是「不需要」。額外的聲明實際上創建了一個新的變量,阻止你的私人領域獲得價值。 – ccoakley
是的,你是一個新的變量,因此壓倒了課堂上的各個領域。在這種情況下,如果您是新手,請記住始終使用THIS操作員。這樣你總是會做正確的事情。 – SHiRKiT