我一直在研究一個項目,以顯示使用掃描器的讀取輸入比使用緩衝讀取器慢,這比使用我們自己的使用適當操作解析整數的函數要慢。爲此,我會在每種情況下記下執行時間以讀取輸入。JAVA:計算運行時錯誤的執行時間
long startTime,endTime,duration;
startTime=System.nanoTime();
/* Reading input via scanner */
endTime=System.nanoTime();
duration = endTime - startTime;
System.out.println(duration);
startTime=System.nanoTime();
/* Reading input via buffered reader */
endTime=System.nanoTime();
duration = endTime - startTime;
System.out.println(duration);
startTime=System.nanoTime();
/* Reading input via own function for I/O */
endTime=System.nanoTime();
duration = endTime - startTime;
System.out.println(duration);
我得到運行時錯誤在上面的代碼,如果我嘗試運行在一個程序中所有三個。但是,如果我一次只使用一種方法,則可以正常工作。我懷疑在計算執行時間方面存在一些問題。請幫忙。
這裏是我的代碼http://ideone.com/BwvAXr
你可以發佈堆棧跟蹤嗎?你發表評論的代碼可能是問題的根源。請張貼,以及。 – bknopper
如果您不會告訴我們錯誤是什麼,那麼很難提供幫助。 – kdgregory
在我看來,錯誤來自讀取輸入的代碼。你是從'stdin'讀取還是打開一個文件?你對每種方法使用單獨的文件閱讀器嗎?如果是這樣,你怎麼打開它,你記得關閉它嗎? –