gpt4 book ai didi

java - Java中的System.out.err和System.out交错

转载 作者:行者123 更新时间:2023-12-03 22:54:06 24 4
gpt4 key购买 nike

为了弄清楚执行一个算法需要花费多少时间,我在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。并找出防止交错的方法。

最佳答案

您可以做些like

System.setErr(System.out);


因此输出在同一流中。它们使用两个不同的流,因此这就是您进行交织的原因。

对于您的代码,它将是:

long startTime = System.currentTimeMillis();    
System.setErr(System.out);
A1.Print(50);
long endTime = System.currentTimeMillis();
System.err.print(endTime - startTime);

关于java - Java中的System.out.err和System.out交错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15894072/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com