在一个if语句中使用char数组和boolean数组与&&操作者

时间:2015-02-12 09:48:08

标签: java arrays operators

我正在尝试将boolean和char数组与&&和运算符,但我收到一条错误消息,指出char和boolean值可能不与&&同时使用。

任何提示都将不胜感激。

private static boolean[] mergeAllCorrectPositions(boolean[] allPositions, char[] wordArray, char x) {
    boolean[] currentPositions = new boolean[wordArray.length];
    for(int i = 0 ; i < wordArray.length ; i++){
        if(wordArray[i] = x && allPositions[i] = false){
            // stuff
        }
    }
    return currentPositions;
}

2 个答案:

答案 0 :(得分:2)

您使用了赋值运算符而不是比较运算符。

更改

if(wordArray[i] = x && allPositions[i] = false)

if(wordArray[i] == x && allPositions[i] == false)

if(wordArray[i] == x && !allPositions[i])

答案 1 :(得分:0)

=是一个赋值运算符。要比较基元的值,您需要使用==运算符。 此时,您不是在比较值,而是设置它们。

if(wordArray[i] = x && allPositions[i] = false){

应该是

if(wordArray[i] == x && allPositions[i] == false){