无法为二维布尔数组赋值
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();
}
我基本上只是从 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();
}