Java System.out.print不会打印到控制台,否则会打印新行

Java System.out.print不会打印到控制台,否则会打印新行,java,intellij-idea,Java,Intellij Idea,我有简单的Java代码,它应该打印5行文本,4行有新行,最后一行没有新行。不幸的是,它不起作用,仅打印前四行,仅当新行在其末尾或之后打印时,才打印最后一行: System.out.println(" 1. Workers list"); System.out.println(" 2. Add worker"); System.out.println(" 3. Remove worker"); System.out.println(" 4. Backup copy"); Syste

我有简单的Java代码,它应该打印5行文本,4行有新行,最后一行没有新行。不幸的是,它不起作用,仅打印前四行,仅当新行在其末尾或之后打印时,才打印最后一行:

System.out.println("   1. Workers list");
System.out.println("   2. Add worker");
System.out.println("   3. Remove worker");
System.out.println("   4. Backup copy");
System.out.print("Choice> ");

我尝试添加System.out.flush;在System.out.printChoice>之后;强制打印,但仍然不起作用。

这是一些控制台的工作方式,它们只输出完整的行。如果在IntelliJ IDEA中发生这种情况,IDEA的控制台就是这样工作的


如果从普通终端运行,您将看到部分线路。

这是一些控制台的工作方式,它们只输出完整线路。如果在IntelliJ IDEA中发生这种情况,IDEA的控制台就是这样工作的


如果从普通终端运行,您将看到部分行。

OutputStream类中的println方法如下所示

 public void println(String x) {
        synchronized (this) {
            print(x);
            newLine();
        }
    }

这意味着println方法打印行,然后添加新行,print方法只打印行

OutputStream类中的println方法如下所示

 public void println(String x) {
        synchronized (this) {
            print(x);
            newLine();
        }
    }
这意味着println方法打印行,然后添加新行,print方法只打印行