声明多维数组并为其分配值的正确方法是什么?

这就是我所拥有的:

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]超出范围,因此设置为xy将会失败。

String[][] myStringArray = new String [x][y];是初始化矩形多维数组的正确方法。如果要使其锯齿状(每个子数组的长度可能不同),则可以使用类似于this answer的代码。但是请注意,如果您想要一个完美的矩形多维数组,John关于必须手动创建子数组的主张是不正确的。

10-06 13:04