gpt4 book ai didi

java - 尝试创建一种方法来检查数组是否仅包含 1 或 4

转载 作者:搜寻专家 更新时间:2023-11-01 04:07:38 25 4
gpt4 key购买 nike

static boolean checkNum(int[] array) {

boolean bool = true;

for (int i = 0; i < array.length; i++) {

if (array[i] != 1 || array[i] != 4) {
return !bool;
}
i++;
}
return bool;
}

我尝试了几种编码方式,但都没有成功。我应该怎么做?它只需要遍历数组并找到任何不是 1 或 4 的东西,否则它应该为真。

最佳答案

你的代码有两个问题:

  • 数组[i] != 1 || array[i] !=4总是评估为true。任何数字要么不为 1,要么不为 4。

    您正在寻找条件 array[i] != 1 && array[i] !=4,它表示“数字不是 1 并且不是 4 ”。另一个有效的替代方法是 !(array[i] == 1 || array[i] == 4),它表示“数字不是或者 1 4”。您最终选择哪一个取决于您的个人喜好。

  • 正如其他人所指出的,循环内的 i++ 是多余的,它使循环跳过第二个元素。


此版本应该可以解决您的问题:

static boolean checkNum(int[] array) {

for (int i = 0; i < array.length; i++) {

if (array[i] != 1 && array[i] != 4) {
return false;
}

}

return true;
}

您知道如何另外摆脱变量 bool 了吗?

好处:如果使用 forEach 会更清楚循环而不是 for 循环:

static boolean checkNum(int[] array) {

for (int i : array) {

if (i != 1 && i != 4) {
return false;
}

}

return true;
}

关于java - 尝试创建一种方法来检查数组是否仅包含 1 或 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30362236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com