声明多维数组并为其分配值的正确方法是什么?
这就是我所拥有的:
int x = 5;
int y = 5;
String[][] myStringArray = new String [x][y];
myStringArray[0][x] = "a string";
myStringArray[0][y] = "another string";
最佳答案
尝试将适当的行替换为:
myStringArray[0][x-1] = "a string";
myStringArray[0][y-1] = "another string";
您的代码不正确,因为子数组的长度为
y
,索引从0开始。因此,由于索引myStringArray[0][y]
和myStringArray[0][x]
超出范围,因此设置为x
或y
将会失败。String[][] myStringArray = new String [x][y];
是初始化矩形多维数组的正确方法。如果要使其锯齿状(每个子数组的长度可能不同),则可以使用类似于this answer的代码。但是请注意,如果您想要一个完美的矩形多维数组,John关于必须手动创建子数组的主张是不正确的。