我想创建一个2D数组[3] [3];每个元素应该是一个3x3字符数组 我怎样才能在java中实现这个目标?
答案 0 :(得分:2)
这似乎很复杂......但仍然如此:
char[][][][] board = new char[3][3][3][3];
这听起来像一个数独板。如果您定义了一个9x9 2D char
数组,那么在必要时(通过控制循环变量)可以处理正确的区域,这样会更容易。相信我,从4D阵列的角度思考会很头疼。
答案 1 :(得分:1)
创建数组类:
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...
}
}
答案 2 :(得分:0)
这也可行:
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