Java 在多维数组中切换布尔值
我试图让这个方法能够在我的二维布尔数组的false和true之间切换。数组中的每个值都对应于一个正方形,但是每当在窗口中推送带有坐标行和坐标列的某个正方形时,我需要在两者之间切换。然而,它给了我一个无效运算符==的错误,所以我不确定如何处理这个问题。任何帮助都将不胜感激Java 在多维数组中切换布尔值,java,arrays,if-statement,boolean,Java,Arrays,If Statement,Boolean,我试图让这个方法能够在我的二维布尔数组的false和true之间切换。数组中的每个值都对应于一个正方形,但是每当在窗口中推送带有坐标行和坐标列的某个正方形时,我需要在两者之间切换。然而,它给了我一个无效运算符==的错误,所以我不确定如何处理这个问题。任何帮助都将不胜感激 public void clickSquare( int row, int column ) { if (grid[row][column] == false)
public void clickSquare( int row, int column )
{
if (grid[row][column] == false)
{
grid[row][column] == true;
}
else
{
grid[row][column] == false;
}
return;
}
要检查两个值是否相等,请使用==
要为变量(或数组元素)赋值,请使用=
grid[row][column] == false;
应该是
grid[row][column] = false;
对于true
,情况也是如此
另外(但这与您的问题无关),请注意,您的整个方法可以替换为
public void clickSquare( int row, int column )
{
grid[row][column] = !grid[row][column];
}
grid[row][column]
是一个boolean
值,因此在if
条件内,您只需测试grid[row][column]
就可以知道它的true
还是false
在if
块中,要分配值,必须使用=
运算符
为了说明这一点,您可以这样使用代码:
public void clickSquare( int row, int column )
{
if (!grid[row][column])
{
grid[row][column] = true;
}
else
{
grid[row][column] = false;
}
return;
}
如果要切换所有值,可以使用Arrays.setAll()吗?我尝试了
Arrays.setAll(boolArray,I->!I)但是我是一个int.Arrays.setAll(boolArray,i->false)代码>确实有效。