【问题标题】:Value of array with two dimensions二维数组的值
【发布时间】:2021-08-06 08:09:53
【问题描述】:

能否请您帮我理解以下代码的含义以及number[2][2] 的值是什么?

public static void main(String[] args) {
    int[][] numbers = new int [3][3];

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

【问题讨论】:

  • 这是一个数组,不是数组列表。
  • 你知道如何处理数组。只需将二维数组视为a single dimensional array of single dimensional arrays。在 Java 中,就是这样。

标签: java arrays for-loop


【解决方案1】:

在Java中,多维数组是由多个一维数组构成的。在您的示例中,numbers[3][3] 将类似于以下数组:

numbers = [
     [0, 0, 0],
     [0, 1, 2],
     [0, 2, 4]
]

现在当你问numbers[0] 的长度是多少?然后很容易说3。numbers[0]持有[0, 0, 0]。如果你问numbers[2][2] 的值是多少,那么它是 4(因为数组索引以 0 开头)。

现在我再举一个例子。

public class Array {
    public static void main(String[] args) {
        int[][] numbers = new int[3][];
        numbers[0] = new int[2];
        numbers[1] = new int[3];
        numbers[2] = new int[4];

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

        for (int i = 0; i < numbers.length; i++) {
            for (int j = 0; j < numbers[i].length; j++) {
                System.out.print(numbers[i][j] + " ");
            }
            System.out.println();
        }
    }
}

这里我取了一个数组,使内部数组的大小不同。这个数组看起来像这样:

numbers = [
     [0, 1],
     [0, 1, 2],
     [0, 1, 2, 3]
]

在这里我创建第一个大小为 2 的数组,第二个大小为 3 的数组和第三个大小为 4 的数组,将一些数据放入其中并简单地打印它。

我想你现在可以想象numbers[0].length 的实际含义了。

【讨论】:

    猜你喜欢
    • 2015-06-16
    • 2011-06-26
    • 1970-01-01
    • 2020-06-20
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 2017-01-29
    • 2019-07-18
    相关资源
    最近更新 更多