Java在单个IF语句中包含不同数量的条件
我有一个算法需要单个Java在单个IF语句中包含不同数量的条件,java,if-statement,for-loop,conditional-statements,Java,If Statement,For Loop,Conditional Statements,我有一个算法需要单个if语句,在每次迭代中使用不同的&条件。例如,我们有以下代码: int k = 0, d = 2; if (arr[i] != b[0] && arr[i] != b[1]) { a[k] = arr[i]; k = k + 1; } 这里条件的数量取决于d,并且每次都随机选择d,也就是说,如果d==3,那么我需要if语句如下 if (arr[i] != b[0] && arr[i] != b[1] && ar
if
语句,在每次迭代中使用不同的&
条件。例如,我们有以下代码:
int k = 0, d = 2;
if (arr[i] != b[0] && arr[i] != b[1]) {
a[k] = arr[i];
k = k + 1;
}
这里条件的数量取决于d
,并且每次都随机选择d
,也就是说,如果d==3
,那么我需要if语句如下
if (arr[i] != b[0] && arr[i] != b[1] && arr[i] != b[2]) { ... }
另外,如果d==4
我需要四个条件,依此类推
我的代码要求完成这最后一步。但是,我还不能解决这个步骤,我将非常感谢您的帮助。迭代数组,并使用布尔变量保存结果。大概
boolean val = true;
for (int j = 0; j < d; j++) {
if (arr[i] == b[j]) {
val = false;
break;
}
}
if (val) {
a[k] = arr[i];
k = k + 1;
}
boolean val=true;
对于(int j=0;j
怎么样
boolean isTrue(Object[] arr, int i, Object... b) { /* compare subarrays */ }
if( isTrue(arr, i, b) ) {
...
}
如果
d
始终是b
数组的大小,则可以使用
if (!Arrays.asList(b).contains(arr[i])) {
// ...
}
使用从0到
d
的循环。对于任意大的d
s,它不能在单个if
语句中完成。您不能更改条件的数量,它是静态的。但是你可以使用函数来完成这项工作:if(checkArray(arr,b,d))
然后你在这个函数中做一个循环。非常感谢,我会试试。非常感谢,我现在就试试。