2016-03-06 94 views
-1

我做了一個簡單的應用程序,它檢查用戶對乘法表的瞭解。它隨機生成幾個方程,檢查每個結果並在最後顯示總體分數(多少正確/不正確)。我嘗試添加某種「秒錶」來查看完成測試需要多長時間,但我失敗了:-P您能否給我任何建議?「秒錶」秒數(因爲 - >到)

System.out.println("START!"); 
for (int i = 0; i < 4; i++) { 
    Random rd = new Random(); 
    int a = rd.nextInt(7) + 2; 
    int b = rd.nextInt(7) + 2; 
    System.out.print(a + "*" + b + "= "); 
    int result = sc.nextInt(); 
    if (result == a * b) { 
     System.out.println("^OK"); 
     correct++; 
    } else { 
     System.out.println("^NOPE"); 
     incorrect++; 
    } 
} 
System.out.println("\nCorrect: " + correct + "\tIncorrect: " + incorrect); 
+0

我沒有看到你在加入「秒錶」嘗試與LocalTime工作。 –

+0

我試過這樣做,就像@Yassin Hajaj在下面寫的,但用Date()而不是當前時間。另外,我已經讀過關於Timer類的內容,但是我已經知道它用於調度東西,而不是計時。我不好,我以前沒有提過這個。 – Adrian

回答

0

您可以使用System#currentTimeMillis

long begin = System.currentTimeMillis();  
// for loop 
long end = System.currentTimeMillis(); 
long time = end - begin; 

或者System#nanoTime

long begin = System.nanoTime(); 
// for loop 
long end = System.nanoTime(); 
long time = end - begin; 

這兩種方法返回一個long,你可以工作。


另一種解決方案是,如果你使用

LocalTime begin = LocalTime.now(); 
// for loop 
LocalTime end = LocalTime.now(); 
long time = begin.until(end, ChronoUnit.MILLIS); 
+0

它的工作原理!謝謝。我一直在嘗試做類似的事情,但用日期而不是currentTime ... – Adrian

+0

@Daze不客氣:)隨意將upvote和標記爲接受的答案 –