Java 如何创建2D字符数组的2D数组?

Java 如何创建2D字符数组的2D数组?,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,我想创建一个2D数组[3][3];每个元素应为3x3字符数组 我如何在java中实现这一点?这似乎很复杂……但仍然是这样: char[][][][] board = new char[3][3][3][3]; 这听起来像一个数独板。如果您定义了一个9x92Dchar数组,并在必要时(只需控制循环变量)遍历正确的区域,这将非常容易。相信我,从4D阵列的角度思考会让人头疼。这似乎很复杂……但仍然是这样: char[][][][] board = new char[3][3][3][3]; 这听起

我想创建一个2D数组[3][3];每个元素应为3x3字符数组
我如何在java中实现这一点?

这似乎很复杂……但仍然是这样:

char[][][][] board = new char[3][3][3][3];

这听起来像一个数独板。如果您定义了一个9x92D
char
数组,并在必要时(只需控制循环变量)遍历正确的区域,这将非常容易。相信我,从4D阵列的角度思考会让人头疼。

这似乎很复杂……但仍然是这样:

char[][][][] board = new char[3][3][3][3];

这听起来像一个数独板。如果您定义了一个9x92D
char
数组,并在必要时(只需控制循环变量)遍历正确的区域,这将非常容易。相信我,从4D阵列的角度思考会让人头疼。

这似乎很复杂……但仍然是这样:

char[][][][] board = new char[3][3][3][3];

这听起来像一个数独板。如果您定义了一个9x92D
char
数组,并在必要时(只需控制循环变量)遍历正确的区域,这将非常容易。相信我,从4D阵列的角度思考会让人头疼。

这似乎很复杂……但仍然是这样:

char[][][][] board = new char[3][3][3][3];
这听起来像一个数独板。如果您定义了一个9x92D
char
数组,并在必要时(只需控制循环变量)遍历正确的区域,这将非常容易。相信我,考虑4D阵列会让人头疼。

创建阵列类:

public class 2DChar {

    private char[][] elem = new char[3][3];

    //getters, setters...     

}
创建数组元素的数组:

2DChar[][] 2dCharArray = new 2DChar[3][3];
初始化它:

for(int i = 0; i < 2dCharArray.lenght(); i++) {
   for(int j = 0; j < 2dCharArray[i].lenght(); j++) {
      2dCharArray[i][j] = new 2DChar();
      //set value, etc...
   }
}
for(int i=0;i<2dCharArray.lenght();i++){
对于(int j=0;j<2dCharArray[i].lenght();j++){
2dcharray[i][j]=新的2DChar();
//设定值等。。。
}
}
创建数组类:

public class 2DChar {

    private char[][] elem = new char[3][3];

    //getters, setters...     

}
创建数组元素的数组:

2DChar[][] 2dCharArray = new 2DChar[3][3];
初始化它:

for(int i = 0; i < 2dCharArray.lenght(); i++) {
   for(int j = 0; j < 2dCharArray[i].lenght(); j++) {
      2dCharArray[i][j] = new 2DChar();
      //set value, etc...
   }
}
for(int i=0;i<2dCharArray.lenght();i++){
对于(int j=0;j<2dCharArray[i].lenght();j++){
2dcharray[i][j]=新的2DChar();
//设定值等。。。
}
}
创建数组类:

public class 2DChar {

    private char[][] elem = new char[3][3];

    //getters, setters...     

}
创建数组元素的数组:

2DChar[][] 2dCharArray = new 2DChar[3][3];
初始化它:

for(int i = 0; i < 2dCharArray.lenght(); i++) {
   for(int j = 0; j < 2dCharArray[i].lenght(); j++) {
      2dCharArray[i][j] = new 2DChar();
      //set value, etc...
   }
}
for(int i=0;i<2dCharArray.lenght();i++){
对于(int j=0;j<2dCharArray[i].lenght();j++){
2dcharray[i][j]=新的2DChar();
//设定值等。。。
}
}
创建数组类:

public class 2DChar {

    private char[][] elem = new char[3][3];

    //getters, setters...     

}
创建数组元素的数组:

2DChar[][] 2dCharArray = new 2DChar[3][3];
初始化它:

for(int i = 0; i < 2dCharArray.lenght(); i++) {
   for(int j = 0; j < 2dCharArray[i].lenght(); j++) {
      2dCharArray[i][j] = new 2DChar();
      //set value, etc...
   }
}
for(int i=0;i<2dCharArray.lenght();i++){
对于(int j=0;j<2dCharArray[i].lenght();j++){
2dcharray[i][j]=新的2DChar();
//设定值等。。。
}
}
这也可以:

Object[][] array = new Object[3][3];
char[][] subArray = new char[][] {{'a','b','c'},
                                  {'d','e','f'},
                                  {'g','h','i'}};
array[0][0] = subArray;
// initialize remaining arrays here
这也可以起作用:

Object[][] array = new Object[3][3];
char[][] subArray = new char[][] {{'a','b','c'},
                                  {'d','e','f'},
                                  {'g','h','i'}};
array[0][0] = subArray;
// initialize remaining arrays here
这也可以起作用:

Object[][] array = new Object[3][3];
char[][] subArray = new char[][] {{'a','b','c'},
                                  {'d','e','f'},
                                  {'g','h','i'}};
array[0][0] = subArray;
// initialize remaining arrays here
这也可以起作用:

Object[][] array = new Object[3][3];
char[][] subArray = new char[][] {{'a','b','c'},
                                  {'d','e','f'},
                                  {'g','h','i'}};
array[0][0] = subArray;
// initialize remaining arrays here