为了计算出执行算法需要多少时间,我在 main 方法中执行此操作,但它不会打印时间,因为它与 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。并找出一种防止交错的方法。