我使用它代替BitSet进行练习。我想创建不同的数组,并为交叉,联合等创建自己的方法。 我也希望能够打印布尔数组,以便我知道发生了什么。谢谢你的帮助。
步骤 1.创建私有静态方法,用于填充具有不同值的nxm布尔数组。 2.创建新数组并调用方法fillArray(myArray,int row,int col)。 3.打印阵列。
boolean[][] myArray= new boolean[][];
fillArray(myArray);
}
public static boolean[][] fillArray(boolean[][] bArray, int row, int col) {
bArray = new boolean[row][col];
Random rand = new Random();
for(int i=0; i<row;i++) {
bArray[i][0] = rand.nextBoolean();
for(int j=0; j<col;j++) {
bArray[j][0] = rand.nextBoolean();
}
}
return bArray;
}
}
答案 0 :(得分:0)
您必须为数组提供行和列的大小。尝试类似:
public static void main(String[] args) {
int row = 10;
int col = 10;
boolean[][] myArray= new boolean[row][col];
fillArray(myArray, row, col);
for(boolean[] row1: myArray){
printRow(row1);
}
}
public static boolean[][] fillArray(boolean[][] bArray, int row, int col) {
Random rand = new Random();
for(int i=0; i<row;i++) {
for(int j=0; j<col;j++) {
bArray[i][j] = rand.nextBoolean();
}
}
return bArray;
}
public static void printRow(boolean[] row) {
for (boolean i : row) {
System.out.print(i);
System.out.print("\t");
}
System.out.println();
}
答案 1 :(得分:0)
我会像这样重写你的fill
方法:
public static boolean[][] fillArray(int row, int col, Random rand) {
boolean[][] bArray = new boolean[row][col];
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
bArray[i][j] = rand.nextBoolean();
}
}
return bArray;
}
注意:
Random
实例作为参数传递,因为使用随机种子创建新的Random
实例非常昂贵。 (提示:你需要从操作系统中获取随机种子。bArray
参数,因为您实际上忽略了它。可选地
public static boolean[][] fillArray(boolean[][] bArray, Random rand) {
for (int i = 0; i < bArray.length; i++) {
for (int j = 0; j < bArray[i].length; j++) {
bArray[i][j] = rand.nextBoolean();
}
}
return bArray;
}
这将填充您已创建并提供的整个阵列。