【发布时间】:2020-02-24 01:02:54
【问题描述】:
我正在尝试使用 System.out.println() 语句在 java 中打印一些语句,但它们没有按顺序打印。
if(us02_birth_b4_marriage())
{
System.out.println("All user stories passed succesfully");
}
else
{
System.out.println("There are following errors: ");
for(String failString: failures)
{
System.err.println(failString);
}
//System.exit(0);
}
System.out.println("Individual");
System.out.format("%-10s%-20s%-10s%-15s%-10s%-15s%-15s%-20s%-20s\n", "ID", "Name", "Gender", "Birthday", "Age", "Alive", "Death", "Child", "Spouse");
方法在类的开头定义。这有什么区别吗?请在此处查看输出Output Image
【问题讨论】:
-
在这种情况下,顺序是什么意思?如果您指的是它在代码中写入的顺序,那么除非您的第一个
if语句始终是true,否则不会发生这种情况。 -
按顺序我的意思是,它首先打印“个人”,然后是“有以下错误:”,然后是 System.err.println(),然后是 System.out.format() 语句。而且这个顺序每次都在不断变化。理想情况下,它应该打印“有以下错误”、System.err.println()、“Individual”、System.out.format()。
-
你需要写一个minimal reproducible example。
-
您可以尝试在每个 println 之后强制刷新 System.out 和 System.err,但是,我相信它已经在每个换行符之后自动刷新。但可能值得尝试
标签: java