所以,基本上我想做的就是有一个百分比。所以它上升了0%,1%等等,但是,我不想将它全部打印出来,而是希望将%1%替换为2%。所以我知道如何进行基本for
循环,但我不知道如何使用\r
或\b
,因为在我的编译器中,所有我得到的是打印这一切都在一条线上。
package test;
public class est
{
public static void main(String[] args)
{
for(int i = 0; i <= 100; i++ )
{
System.out.print("\rPercent = " + i + "%");
}
}
}
输出:
Percent = 0%
Percent = 1%
...
Percent = 99%
Percent = 100%
所以打印100行;但我只想在一行上获得这些信息。
答案 0 :(得分:2)
简单的答案是:当您努力提供“增强的用户体验”时,System.out不是一个合适的基础。也许在这种情况下,您可以使用\ r来删除同一行上的。但是只要你需要/想要做 println()那个上下文就修复了;你不能再改变它了。
即便如此:“回头”并且无法以适用于每个平台的方式完成信息删除。
您有三种选择:
答案 1 :(得分:1)
我尝试在sysout中使用'\ r',它在Intellij Idea控制台&amp;从mac osx的终端运行它。
public static void main(String[] a) throws InterruptedException {
int progress = 10;
for(progress = 10; progress<=100; progress+=10) {
System.out.print("\rPercent = " + (progress) + "%");
Thread.sleep(3000);
}
}
您可能想尝试一下。 但是,我坚信它将依赖于底层控制台和操作系统。
答案 2 :(得分:0)