首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Java中初始化多维数组

在Java中初始化多维数组
EN

Stack Overflow用户
提问于 2009-07-01 02:55:53
回答 5查看 415.8K关注 0票数 82

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

这就是我所拥有的:

代码语言:javascript
复制
int x = 5;
int y = 5;

String[][] myStringArray = new String [x][y];

myStringArray[0][x] = "a string";
myStringArray[0][y] = "another string";
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-07-01 03:07:45

尝试将适当的行替换为:

代码语言:javascript
复制
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关于您必须手动创建子数组的断言是不正确的。

票数 64
EN

Stack Overflow用户

发布于 2009-07-01 07:26:15

您还可以使用以下结构:

代码语言:javascript
复制
String[][] myStringArray = new String [][] { { "X0", "Y0"},
                                             { "X1", "Y1"},
                                             { "X2", "Y2"},
                                             { "X3", "Y3"},
                                             { "X4", "Y4"} };
票数 60
EN

Stack Overflow用户

发布于 2009-07-01 03:31:47

您可以像这样声明多维数组:

代码语言:javascript
复制
// 4 x 5 String arrays, all Strings are null
// [0] -> [null,null,null,null,null]
// [1] -> [null,null,null,null,null]
// [2] -> [null,null,null,null,null]
// [3] -> [null,null,null,null,null]

String[][] sa1 = new String[4][5];
for(int i = 0; i < sa1.length; i++) {           // sa1.length == 4
    for (int j = 0; j < sa1[i].length; j++) {     //sa1[i].length == 5
        sa1[i][j] = "new String value";
    }
}


// 5 x 0  All String arrays are null
// [null]
// [null]
// [null]
// [null]
// [null]
String[][] sa2 = new String[5][];
for(int i = 0; i < sa2.length; i++) {
    String[] anon = new String[ /* your number here */];
    // or String[] anon = new String[]{"I'm", "a", "new", "array"};
    sa2[i] = anon;
}

// [0] -> ["I'm","in","the", "0th", "array"]
// [1] -> ["I'm", "in", "another"]
String[][] sa3 = new String[][]{ {"I'm","in","the", "0th", "array"},{"I'm", "in", "another"}};
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1067073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档