无法为二维布尔数组赋值

Can't assign values to a 2d boolean array

我基本上只是从 java 开始,并且正在为一个非常基本的程序而苦苦挣扎。 我有一个二维布尔数组,我想随机填充它......你不会猜到它......布尔值!这是我现在的方法,但似乎数组在运行之后只填充了'false'。

public static void randBoard()  {
    for(boolean[] item : board) {
        for(boolean square : item)  {
            square = Math.random() < .5;
        }
    }
}

正如 Kevin Esche 所说:如果你每次循环遍历布尔值,你都会得到值对象,但你想将它设置为引用。这意味着必须设置列表中的位置。

它应该适用于以下代码:

public static void randBoard()  {
   Random random = new Random();
   for(int i =0; i<board.length;i++) {
       boolean[] item = board[i];
       for(int j= 0;j<item.length;j++)  {
           item[j]= random.nextBoolean();
       }
    }
 }

你是说可能是这样的吗?

int d1 = 5;
int d2 = 5;
boolean[][] board = new boolean[d1][d2];
for(int i=0; i<d1; i++) {
  for(int j=0; j<d2; j++) {
    boolean square = Math.random() < .5;
    board[i][j] = square;
    System.out.print("[" + board[i][j] + "]");
  }
  System.out.println();
}