way*_*yoo 3 java arrays methods
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;
}
Run Code Online (Sandbox Code Playgroud)
我尝试过几种编码,但没有任何运气.我应该怎么做?它只需要通过数组并找到任何不是1或4的东西,否则它应该是真的.
您的代码中有两个问题:
array[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;
}
Run Code Online (Sandbox Code Playgroud)
你看到除了变量之外还有可能bool
吗?
额外奖励:如果你使用forEach循环而不是for循环,那就更清楚了:
static boolean checkNum(int[] array) {
for (int i : array) {
if (i != 1 && i != 4) {
return false;
}
}
return true;
}
Run Code Online (Sandbox Code Playgroud)