アルゴリズムの実行にかかる時間を調べるために、メイン メソッドでこれを行いますが、System.print とインターリーブされるため、時間を出力しません。
long startTime = System.currentTimeMillis();
A1.Print(2);
long endTime = System.currentTimeMillis();
System.err.print(endTime - startTime);
クラスAがこれである場合:
public class A{
public void Print(int n){
for(int i = 0; i <=n; i++){
System.out.println(i)
}
}
それは印刷します
0
1
2
この行では、そのループを通過するはずの時間ですが、単純にそうではないため、次のようには出力されません。
0
1
2
1
ここで、最後の行または 1 は、アルゴリズムにかかったミリ秒です。教科書には、System.err を使用しなければならないと書かれています。インターリーブを防ぐ方法を見つけます。