Java二维布尔数组值

Java二维布尔数组值,java,multidimensional-array,boolean,Java,Multidimensional Array,Boolean,我的二维布尔数组有问题。(也可能是打印值的逻辑)。我在开始时将数组中的所有值设置为false,然后将这些值打印到屏幕上。当我把它们打印出来时,它们都是真的 x=20; y=10; boolArray = new boolean[x][y]; for(int c=0;c<x;c++) { for(int i=0;i<y;i++) { boolArray[c][i] = false; } } System.out.println("2D Boolean Array

我的二维布尔数组有问题。(也可能是打印值的逻辑)。我在开始时将数组中的所有值设置为false,然后将这些值打印到屏幕上。当我把它们打印出来时,它们都是真的

x=20;
y=10;
boolArray = new boolean[x][y];

for(int c=0;c<x;c++)
{
  for(int i=0;i<y;i++)
  {
    boolArray[c][i] = false;
  }
}

System.out.println("2D Boolean Array:");

for(int a = 0; a < boolArray.length; a++)
{
  for(int b = 0; b < boolArray[a].length; b++)
  {
    if(boolArray[a][b] = true)
    {
      System.out.print("T");
    }
    else if(boolArray[a][b] = false)
    {
      System.out.print("F");
    }
  }
}
x=20;
y=10;
boolArray=新布尔[x][y];
对于(int c=0;c试试这个:

    if(boolArray[a][b])
    {
      System.out.print("T");
    }
    else
    {
      System.out.print("F");
    }
有了布尔人,你可以像

if(boolean field)
您使用了
=
assignment而不是
=
比较。

这是不好的:

if(boolArray[a][b] = true)
    {
      System.out.print("T");
    }
    else if(boolArray[a][b] = false)
    {
      System.out.print("F");
    }
您使用的是赋值运算符
=
,而不是比较运算符
=

你可以把它改成

if(boolArray[a][b] == true)
//...
else if(boolArray[a][b] == false)
或者更好

if(boolArray[a][b])
//...
else if(!boolArray[a][b])
甚至更好:

if(boolArray[a][b])
//...
else 

x
y
的值是多少?发布完整的代码您在
中使用的是
=
,如果是
条件,而不是
=