我System.out.println()和System.err.println()电话没有按照我制作的顺序打印到控制台.
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
System.out.println("out");
System.err.println("err");
}
}
Run Code Online (Sandbox Code Playgroud)
这会产生:
out
out
out
out
out
err
err
err
err
err
Run Code Online (Sandbox Code Playgroud)
而不是交替out和err.为什么是这样?
请考虑这个java代码:
public class CMain {
public static void main(String[] args){
for (int i = 0; i < 10; i++) {
System.out.println("A");
System.err.println("B");
}
}
}
Run Code Online (Sandbox Code Playgroud)
通过快速查看代码,我们中的一些人可能认为输出必须是As和Bs的印刷品.不过不是!它是10个字符和10个B字符的随机外观.像这样的东西:

这是为什么?什么是它的解决方案,以便As和Bs交替显示(ABABAB ...)在我问这个问题之前,我检查了其他几个类似的问题以寻求解决方案,而不是为我的案例工作!我带来了一些在这里: