我想创建一个2D数组[3][3];每个元素应该是一个3x3字符数组我如何在java中实现这一点?
这看起来很复杂,但仍然是这样的:
char[][][][] board = new char[3][3][3][3];
这听起来像数独板。如果你定义了一个9x9的2D char
数组,就会容易得多,只要你需要,就会在正确的区域进行迭代(只需控制循环变量)。相信我,用四维数组来思考会很头疼。
Create Array class:
public class 2DChar {
private char[][] elem = new char[3][3];
//getters, setters...
}
Create Array of Array elements:
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...
}
}
也可以:
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