当前位置: 首页 > 知识库问答 >
问题:

Java如果语句和其他如果没有按预期工作

吴炎彬
2023-03-14

我让用户在一个< code>int[]中输入5个int的列表。然后,我用一个简单的< code>for语句遍历int[]中的这些int。我声明了一个名为“evens”的< code>int变量如果int[]中的数字at i %2 == 0,< code > evens ;

现在我有了 if 语句:

if (evens !=2 || evens!=3) {
  System.out.print("This was called because " + evens + " is not equal to 2 or 3");
}

问题是,无论偶数的值是多少,都会调用它。它可以是5或3,但仍会被调用。我最近一直在使用C#,但这是简单的Java。

整机代码:

int evens = 0;
    for(int i=0; i<chosenNumbers.length; i++) {
        if(chosenNumbers[i] %2 ==0)
            evens++;
    }

System.out.println("You chose "+evens+" even numbers and " + (chosenNumbers.length-evens) + " odd numbers.");

    if (evens !=2 || evens!=3) {
        System.out.print("This was called because " + evens + " is not equal to 2 or 3");
    } else if (evens==2 || evens==3) {
        System.out.print(evens +" equals 2 or 3");
    }

共有2个答案

万俟炯
2023-03-14

您可以使用

if(!(evens ==2 || evens==3)) {
        System.out.print("This was called because " + evens + " is not equal to 2 or 3");
} else {
        System.out.print(evens +" equals 2 or 3");
}
赏成益
2023-03-14

您需要替换:

if(evens !=2 || evens!=3) {
    System.out.print("This was called because " + evens + " is not equal to 2 or 3");
}

与:

if(evens !=2 && evens!=3) {
    System.out.print("This was called because " + evens + " is not equal to 2 or 3");
}

如果您使用逻辑OR<code>| |</code>,您将始终输入该块,因为它唯一不会输入的方法是<code>evens</code>同时等于2和3,这是不可能的。

 类似资料:
  • 我对Java很陌生,我正在努力学习。我写了少量的代码,但结果并不是我所期望的。看起来,无论我将体重设置为什么,它都不会显示“你的脂肪”上方的打印。我错过了什么? 我希望这段代码能够顺序检查每个else语句给出的int值,并打印出与int值相等的行。

  • 所以读了一些书之后我看到了 不是使用可选选项的首选方式(http://www.oracle.com/technetwork/articles/java/java8-optional-2175753.html).但如果我有这样一个if语句: 这是最好的方法还是有更推荐的方法?

  • 我试图重写并为页脚返回不同的视图类型,但在函数中进行整数比较失败: 此图像显示了一个调试会话,其中输入为21,私有列表的大小为21,但是当我按下“step over”时,会跳过条件代码。 如果两个整数相等,为什么返回false? 我在运行之前清理并重建了我的项目。 更新: 当整数被硬编码时,它可以工作: 这是完整的适配器:https://gist.github.com/fergusom/79C6D

  • 我刚刚开始学习python,通过《像计算机科学家一样思考》这本书,我陷入了一些语言语法。 当我使用一些输入(比如7)运行此程序时,会收到如下错误消息: 为什么if语句不能正常工作?即使输入值小于20,它仍会进入第一个if语句

  • 问题内容: 到目前为止,我一直没有通过网络进行搜索,该语句始终具有if和else条件,例如。我想知道三元语句是否可以不使用。假设我有以下代码,如果不为空,我想关闭 (我正在使用Java编程语言。) 问题答案: 不,你不能那样做。 而是尝试以下方法:

  • 我已经开始练习R闪亮,请在下面的代码中找到我试图进行计算的部分。请协助获取输出,因为我无法生成。 用户界面 库(发光)库(发光板) 我的页面 titlePanel(“零基成本模型”), 侧边栏 侧边栏面板(“输入客户详细信息”), 条件="input.tabselect==1", conditionalPanel(condition=“input.tabselect==5”, #submitBut