这里是 Java 初学者,我有一个简单的扫描仪应用程序,它接受用户输入。我想添加一个 if 语句来防止用户将负值放入扫描仪中,或者至少在这样做时收到错误消息。
我尝试添加一个 if 语句,如果数字 > 0,则执行代码,否则显示错误消息。这似乎在测试 x 时有效,但不适用于 x OR y。
if (x >= 0 || y >= 0){
System.out.println("Sum of x+y = " + z);
if (x == y) {
System.out.println("x and y are equal");
} else {
System.out.println("x and y are not equal");
System.out.println("Counting from 0 to " + x);
for (int i = 0; i <= x; i++) {
System.out.print(i + " ");
}
最佳答案
您似乎正在发布代码片段,因为括号不匹配。另外,您不会显示任何打印错误消息的代码。
但是你的问题的要点似乎是逻辑问题,而不是代码的语法错误。所以我会假装语法错误不存在(尽管您确实需要修复它们)。逻辑问题似乎在这里:
if (x >= 0 || y >= 0) {
// all is good
} else {
// print error message
}
如果任一,此测试将成功 x
或y
是非负的。根据您的描述,如果其中一个结果为阴性,您希望测试失败。为此,您需要颠倒测试的意义:
if (x < 0 || y < 0) {
// print error message
} else {
// all is good
}
或者使用 AND 而不是 OR:
if (x >= 0 && y >= 0) {
// all is good
} else {
// print error message
}
关于java - 如何在 Java If 语句中使用 OR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58070341/