我正在尝试将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;
}
答案 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){