定時器Java代碼不起作用定時器代碼不起作用
public interface IncDec
{
void increment();
void decrement();
}
public class MyIncDec implements IncDec
{
private int x;
public MyIncDec(int x) {
this.x = x;
}
public void increment() {
this.x++;
}
public void decrement() {
this.x--;
}
}
1部分:實施其可以被用於測量多長時間的增量和減量方法的每次調用需要(在 毫秒)的一類和打印出這些信息。該類應該或多或少透明地適合IncDec接口的現有客戶端。
我的解決方案:
public class Test{
public static void main(String[] args){
MyIncDec mid = new MyIncDec(4);
long l1;
long l2;
l1 = Calendar.getInstance().getTimeInMillis();
mid.increment();
l2 = Calendar.getInstance().getTimeInMillis();
System.out.println(l2-l1);
}
}
我的解決方案給我的時間差異爲0。當我打電話「增量」 n之後才顯示長期價值,它們是相同的。爲什麼這樣?
假設我在應用程序中的許多地方需要類似的東西(方法調用的時機)。一個想法是爲所有不同的方法編寫一個單獨的計時器類。有沒有人有另一個優化的想法,讓時間更方便?
爲什麼你期望你的方法調用需要一整毫秒。 'System.nanoTime'更精確,但不是那麼精確。 – 2010-12-12 11:34:55
+1:應該問一個作業問題的一個很好的例子! :) – 2010-12-12 11:41:02
你直到現在還沒有接受任何問題的答案。你是新來的,所以也許你不知道這是什麼意思。常見問題解答表示:當您確定哪個答案對您最有幫助時,請通過單擊答案左側的複選框大綱將其標記爲已接受的答案。這讓其他人知道你已經收到了你的問題的一個很好的答案。這樣做很有幫助,因爲它向其他人表明您從社區中獲得價值。 (如果你不這樣做,人們會經常禮貌地要求你回去接受更多問題的答案!) – oezi 2010-12-15 08:34:33