在 Java 中寻找将布尔值更改为布尔数组的方法
Looking for a way to change a boolean to a boolean array in Java
我正在尝试将此方法用于 return 布尔值数组。布尔值将是真或假,具体取决于给定的楼层整数是高于或等于 (true) someNumbers[i] 中的值还是低于 (false)。
例如,如果 floor 值为 19 并且 someNumbers 包含:1、785、17、56、78。布尔数组将为 false、true、false、true、true。
这是我的 Java 方法:
public boolean[] boolsRule(int floor, int[] someNumbers) {
boolean[] results;
for (int i = 0; i < someNumbers.length; i++) {
results = (someNumbers[i] >= floor) ? true : false;
}
return results;
}
这是我收到的错误消息:
error: incompatible types
results = (someNumbers[i] >= floor) ? true : false;
^
required: boolean[]
found: boolean
我想知道如何将布尔值更改为布尔数组,或者是否需要不同的解决方案。任何帮助将不胜感激。
看来你想要的是
boolean[] results = new boolean[someNumbers.length];
// you have to initialize it
for (int i = 0; i < someNumbers.length; i++) {
results[i] = someNumbers[i] >= floor; // ? true : false is redundant
// ^ you're setting the ith element of the array, not the whole array
}
return results;
您只是忘记在数组的每个单元格中存储布尔值。将结果更改为结果[i]
public boolean[] boolsRule(int floor, int[] someNumbers) {
boolean[] results;
for (int i = 0; i < someNumbers.length; i++) {
results[i] = (someNumbers[i] >= floor) ? true : false;
}
return results;
}
我正在尝试将此方法用于 return 布尔值数组。布尔值将是真或假,具体取决于给定的楼层整数是高于或等于 (true) someNumbers[i] 中的值还是低于 (false)。
例如,如果 floor 值为 19 并且 someNumbers 包含:1、785、17、56、78。布尔数组将为 false、true、false、true、true。
这是我的 Java 方法:
public boolean[] boolsRule(int floor, int[] someNumbers) {
boolean[] results;
for (int i = 0; i < someNumbers.length; i++) {
results = (someNumbers[i] >= floor) ? true : false;
}
return results;
}
这是我收到的错误消息:
error: incompatible types
results = (someNumbers[i] >= floor) ? true : false;
^
required: boolean[]
found: boolean
我想知道如何将布尔值更改为布尔数组,或者是否需要不同的解决方案。任何帮助将不胜感激。
看来你想要的是
boolean[] results = new boolean[someNumbers.length];
// you have to initialize it
for (int i = 0; i < someNumbers.length; i++) {
results[i] = someNumbers[i] >= floor; // ? true : false is redundant
// ^ you're setting the ith element of the array, not the whole array
}
return results;
您只是忘记在数组的每个单元格中存储布尔值。将结果更改为结果[i]
public boolean[] boolsRule(int floor, int[] someNumbers) {
boolean[] results;
for (int i = 0; i < someNumbers.length; i++) {
results[i] = (someNumbers[i] >= floor) ? true : false;
}
return results;
}