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



我有简单的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.print("Choice> ");后添加System.out.flush();以强制打印,但仍然不起作用。

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

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

OutputStream 类中的 println 方法如下。

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

这意味着println方法打印该行,然后添加新行,打印方法仅打印该行。

最新更新