覆盖以前的控制台输出

reo*_*eox 5 java console

是否可以覆盖最后的System.out.println输出,以便我可以可视化数组中的更改或创建进度条?

例如,如果我有这样的课程:

class Main{
  public static void main(String[] args){
    for(int i = 0; i < 10; i++){
      for(int j = 0; j < i; j++){
        System.out.print("#");
      }
      System.out.println("");
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我需要做什么才能创建这个简单的进度条,它显示在单行而不是 10 个单独的行中?

Jon*_*eet 4

这适用于我的特定控制台(Windows),但它不是很便携......

public class Test {
    public static void main(String[] args) throws Exception {
        for (int i = 0; i < 100; i++) {
            System.out.print("#");
            if (i % 20 == 0) {
                System.out.print("\r                    \r");
            }
            System.out.flush();
            Thread.sleep(100);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

还有Console课程,但据我所知,这实际上并没有给你带来太多好处......