在 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;
    }