我正在尝试使用System.out.println()语句在Java中打印一些语句,但它们没有按顺序打印。
__init__.py
该方法在类的开头定义。那有什么区别吗?请在此处查看输出Output Image
答案 0 :(得分:0)
问题是您正在将某些消息写入public int stringToNumber(String stn) {
int result;
try {
result = Integer.parseInt(stn);
}
catch (NumberFormatException e) {
System.out.println("String input cannot be converted to integer: " + stn);
result = 0; // return 0 as the failure value
}
return result;
}
,而另一些消息则写入System.out
。这可能会导致行的顺序异常(取决于您的期望...)。这是主要,因为System.err
和System.out
是具有不同(Java端)缓冲特性的不同流。
考虑到您运行应用程序的方式,它们恰巧写入同一位置;即您的控制台。但是即使如此,操作系统仍不能保证标准输出和标准错误行的交织将完全与应用程序编写它们的顺序相对应。
解决方案:如果您要保证这些行以您的代码写入它们的顺序出现在控制台上,则必须将它们写入同一流。