java - 如何在 Java If 语句中使用 OR

标签 java

这里是 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
}

如果任一,此测试将成功 xy是非负的。根据您的描述,如果其中一个结果为阴性,您希望测试失败。为此,您需要颠倒测试的意义:

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/

相关文章:

java - 如何使字符串表现得像整数?

java - SWT TableViewer 单元格不显示图像,除非单击可编辑单元格

java - 我是如何得到 NullPointerException 的?使用 JApplet

java - 当 JLabel 中的一些需要位于网格布局内而另一些不需要时,在 JPanel 上排列 JLabel

java - 贝尔东 : maven Non-resolvable parent

java - 如何编写泛型 Java 方法并比较方法中泛型类型的两个变量?

java - 我可以在@MappedSuperclasses 上创建静态方法吗?

java - 如何计算没有整数 bigdecimal 指数的幂?

java - AWS API 网关 + AWS ECS + OAuth2 密码授予

Java FileWriter 覆盖