我有一个算法需要在每次迭代中使用不同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
我需要四个条件,依此类推。
我的代码需要完成最后一步。但是,我还没有解决这个问题,我真的很感激任何帮助。
答案 0 :(得分:1)
迭代数组,并使用布尔变量来保存结果。像,
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;
}
答案 1 :(得分:0)
怎么样
boolean isTrue(Object[] arr, int i, Object... b) { /* compare subarrays */ }
if( isTrue(arr, i, b) ) {
...
}
答案 2 :(得分:0)
如果d
始终是b
数组的大小,则可以使用
if (!Arrays.asList(b).contains(arr[i])) {
// ...
}