gpt4 book ai didi

java - 按顺序打印所有 System.out.println() 语句

转载 作者:行者123 更新时间:2023-12-01 18:15:58 24 4
gpt4 key购买 nike

我正在尝试使用 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

最佳答案

问题在于您正在将一些消息写入 System.out,而将其他消息写入 System.err。这可能会导致行的顺序不一致(取决于您的期望......)。这主要是因为 System.outSystem.err 是具有不同(Java 端)缓冲特性的不同流。

考虑到您运行应用程序的方式,它们碰巧写入同一个位置;即你的控制台。但即便如此,操作系统也不能保证标准输出和标准错误行的交错与应用程序写入它们的顺序完全对应。

解决方案:如果您希望保证这些行按照代码写入的顺序出现在控制台上,则必须将它们写入同一个流。

关于java - 按顺序打印所有 System.out.println() 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60368387/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com