gpt4 book ai didi

java - Java 中是否可以仅在一个输出中显示 for 循环的结果?

转载 作者:行者123 更新时间:2023-11-30 02:58:35 26 4
gpt4 key购买 nike

我有一些代码可以在控制台中显示倒计时。

for(int i = this.roundTimerMinute; i > -1; i--)
{
for(int j = this.roundTimerSeconds; j > 0; j--)
{

if( j < 10)
{
System.out.println(i + ":0" + j);
}
else if(!(i == 0 && j == 60) && (j < 56 && i == 1))
{
System.out.println(i + ":" + j);
}
else if(i == 0 && j != 60)
{
System.out.println(i + ":" + j);
}

if(i == 0 && j == 60)
{
System.out.println("1:00");
}

try {
Thread.sleep(1000);
} catch (InterruptedException e) {}
}
}

当前输出类似于:

1:55
1:54
1:53
.
.
.

可以仅在一行中显示整个倒计时。不是连续的,但新的 println() 会覆盖旧的,如下所示:

1:55 (this display is overridden 1 seconds later by 1:54 and so on)

如果有任何帮助,我将不胜感激。谢谢

法师D

编辑:所以它可以与/r 命令一起使用,但只能在 Windows 本身的 CMD 中使用。也许这是一个错误,但它回答了我的问题。谢谢:)

最佳答案

是的,使用 print 而不是 println 并在每个输出的末尾添加 "\r":

例如System.out.println(i + ":0"+ j + "\r");

当您使用println时,它会执行两件事:移动到下一行(换行)并将光标返回到行的开头(回车)。把它想象成一台打字机:-)

如果您手动打印“\r”(仅回车符)而不前进到下一行,那么您打印的下一个内容将覆盖该行之前的内容。

关于java - Java 中是否可以仅在一个输出中显示 for 循环的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36522680/

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