在 Java 中使用 \r 作为倒数计时器

Using \r in Java for Count Down Timer

如何正确使用Java中的\r作为倒数计时器? 我想从 20 倒数到 0 并打印它,我想更新它而不是换行,所以我使用了 \r 。它有效,但是当涉及到 10 时,然后在此之后,不是写 9,而是写 90、80 等等......请更新我的代码以解决问题。谢谢 这是我的代码

int timer1=20;
int timer2=0;
String timer3="\r";
while(timer1>timer2){
try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}  
System.out.print(timer3+timer1);   
System.out.flush(); 
timer1--;}

你的变量名至少可以说是令人困惑。您遇到的问题是 \r 将您带到该行的开头,并且您没有覆盖以前的输出,因此当您写出数字 9 时,您仍然剩下 10 中的 0.

更改此行:

   System.out.print(timer3+timer1); 

至:

   System.out.print(timer3+timer1+ " "); 

这应该可以解决问题。