我认为 和 之间的区别System.out.println()
仅仅System.err.println()
是消息如何打印到控制台。含义err
打印错误消息(红色),而out
打印标准消息。我注意到它们不像预期的那样相似(例如,总是在输出消息之前打印错误消息)。
但是有一个例子我特别困惑。假设我有这个简单的程序:
Scanner scanner = new Scanner(System.in);
while (true) {
int num = scanner.nextInt();
if (num > 0) {
System.out.println("All good, bye");
break;
} else {
System.out.println("Number must be possitive!");
System.out.print("New try:");
}
}
输出(来自我的测试):
但是,当我制作字面上相同的代码并更改消息“数字必须是正数”以使用以下方式打印时System.err.println()
:
Scanner scanner = new Scanner(System.in);
while (true) {
int num = scanner.nextInt();
if (num > 0) {
System.out.println("All good, bye");
break;
} else {
System.err.println("Number must be possitive!");
System.out.print("New try:");
}
}
输出(来自我的测试):
我不知道它是如何制作这些奇怪的印刷品的。有人能告诉我我错过了什么吗?