【问题标题】:Trouble understanding Multidimensional Arrays难以理解多维数组
【发布时间】:2011-12-30 15:20:33
【问题描述】:

所以我试图更好地理解多维数组。到目前为止,我了解有两种方法可以构造这些数组。一个是

int[][] b = { { 1, 2 }, { 3, 4, 5 } };

第一个数组构造第 0 行,包含 2 列(第 0 列和第 1 列)。我不明白为什么要选择这些数字。它总是必须按数字顺序排列,还是数字意味着更多?如果我要创建一个新行,它会从 6 开始吗?我这样构造会更好吗?

int[][] b = new int [2][];
b[0] = new int [2];
b[1] = new int [3]; 

感谢您的帮助。

【问题讨论】:

    标签: java arrays


    【解决方案1】:

    这些数字仅作为示例。如果这不是您的解决方案所要求的,则无需以“6”开始下一行。

    任何一种构造方式都是可以接受的。如果您必须计算这些值并且事先不知道它们,您将使用第二个。

    【讨论】:

    • 好的,所以数字只是放置在数组中的值
    • 是的,我认为这就是正在发生的事情。我不知道你在哪里找到那个例子,所以我错过了一些上下文。
    • 是的,它是 pearson java 如何编程的教科书
    【解决方案2】:

    1、2、3、4 和 5 只是输入到这个新数组中的数据。

    数组看起来像这样:

    [
      [1, 2]
      [3, 4, 5]
    ]
    
    so [0][0] = 1; [1][0] = 3, [1][2] = 5 etc
    

    这些值只是作为示例选择的。

    【讨论】:

      【解决方案3】:

      首先:Java 中没有多维数组。只有数组包含数组。如果您愿意,可以使用数组数组。

      int[][] b = { { 1, 2 }, { 3, 4, 5 } };
      

      构造一个包含 2 个 int 数组的数组。第一个数组包含数字 1 和 2,第二个数组包含数字 3、4 和 5。这些数字可以是您想要的任何数字。该行同时声明和填充数组。


      int[][] b = new int [2][];
      b[0] = new int [2];
      b[1] = new int [3]; 
      

      构造一个包含两个空元素的整数数组。然后,外部数组的第一个元素用 2 个 int 的数组初始化,外部数组的第二个元素用 3 个 int 的数组初始化。所有的 int 都被初始化为它们的默认值:0。

      【讨论】:

        猜你喜欢
        • 2011-06-24
        • 1970-01-01
        • 2019-06-01
        • 1970-01-01
        • 2021-12-14
        • 2014-05-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多