-4

要初始化 2D 数组,不需要嵌套循环?需要数组中的嵌套for循环来访问二维数组中的所有元素吗?

4

3 回答 3

2

不,这是没有必要的:

int[][] int2dArray = new int[][] {{1, 2, 3}, {4, 5}};
String[][] string2dArray = new String[][]{{"00", "01"}, {"10", "11"}};
BigInteger[][] bigint2dArray = new BigInteger[][] {
    { new BigInteger("1") },
    { new BigInteger("2"), new BigInteger("3") }
};
于 2013-04-25T22:00:45.027 回答
1

并非如此,您可以在一个循环中模拟两个索引的增加。m X n - 数组的大小

int i = 0;
int j = 0;
for (int k = 0; k < m*n; ++k) {
//Access your array
if (i < m)
++i;
else {
i = 0;
++j;
}
}

像这样的东西应该工作。循环内的条件也可以看起来像

i < m-1 && j < n-1
于 2013-04-25T22:04:45.967 回答
0

如果要访问二维数组中的所有元素,即遍历数组,使用嵌套的 for 循环是完成此任务的一种方法。

例如,假设您像这样初始化了一个二维数组:

int[][] array2D = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

for (int i = 0; i < array2D.length; i++) {

    for (int j = 0; j < array2D[i].length; j++) {

        //Do something with each element in the two-dimensional array.
        //For example:
        System.out.println(array2D[i][j]);

    }

}

上面的代码段将遍历二维数组中的每个元素,将每个元素打印出来。在内部 for 循环的每次迭代中,array2D[i][j] 表示二维数组中的当前元素。

于 2013-04-25T22:04:29.293 回答