如果要在console上打印 Hello + 1到10,最简单的如下:
for(int i =1;i<11;i++){
System.out.println("Hello "+i);
Thread.sleep(2000);
}
不过这样打出来的就是10行了:
Hello 1
Hello 2
Hello 3
Hello 4
Hello 5
Hello 6
Hello 7
Hello 8
Hello 9
Hello 10
如果想打印在一行,只是每次数值字改变,怎么办?
这个时候就可以用到特殊字符 \r (回车符),如下:
for(int i =1;i<11;i++){
System.out.printf("Hello %d\r", i);
Thread.sleep(2000);
}
\r 会把光标移位到当前行的最前,然后刷新输出。
更进一步:可以看出,每次前部分的输入 Hello 总是固定的,所以如果能不重新输入Hello,而只是修改数字部分,就更好了?
这个时候可以用退格符 \b 来实现,例如:
System.out.print("Hello ");
for(int i =1;i<11;i++){
System.out.printf("%d\b", i);
Thread.sleep(1000);
}
另外像扑克牌字符是数字3到6:
for(int i = 3;i<7;i++){
System.out.print((char)i);
}