【问题标题】:Declare Two-Dimensional Array - Clarification声明二维数组 - 澄清
【发布时间】:2015-06-10 16:04:49
【问题描述】:

我目前正在学习 Java 课程,课程是解释二维数组。声明该类型变量的第一种方法是创建一个常量作为我的二维数组中有多少行和列的参数。然后,我只是使用嵌套的 for 循环为这些特定的行和列提供随机数。

声明和初始化二维数组的第二种方法是下面的“int[][] nums”行。我知道它有 3 行。它基本上类似于将列表放入更大的列表中,但是“nums”数组中有多少列?可能有一个简单的答案,但我现在有点困惑。感谢您的帮助。

import java.util.Random; //Importing Class from Package

public class Chap15Part4
{
    public static void main(String[] args)
    {
        final int rows = 5; //Constant
        final int cols = 5; //Constant
        int[][] numbers = new int[rows][cols]; //Declaring 2-D Array with       constants as arguments
        Random rand = new Random(System.currentTimeMillis()); //Seeding Random Number Generator
        for(int r = 0; r < rows; ++r) //Nested for-loop to assign numbers to elements
            for (int c = 0; c < cols; ++c)
                numbers[r][c] = rand.nextInt(101); 

        int[][] nums = {{10,20,30,40}, {20,30,40,50}, {30,40,50,60}}; //Declaring & Initializing 2-D Array
    }

}

【问题讨论】:

  • nums 中有“四列”。但是,请记住,二维数组只是一个数组,其中该数组的每个元素本身就是另一个数组。所以结构不必是方形的。也就是说,nums[0] 可能是一个大小为 3 的数组,但nums[1] 可能是一个大小为 4 的数组
  • 4 列...每个列表包含 4 个元素。您可以将这些小列表堆叠起来,然后查看 {10,20,30,40} {20,30,40,50} {30,40,50,60}
  • 感谢您的帮助!我想说你应该阅读更多关于嵌套 for 循环如何工作的内容,以便更好地理解第一种方法。

标签: java arrays multidimensional-array initialization declare


【解决方案1】:

有四列。矩阵将如下所示,因此您可以轻松计算列数:

{{10, 20, 30, 40},
 {20, 30, 40, 50},
 {30, 40, 50, 60}}

【讨论】:

  • 谢谢!您输入的方式更有意义。
【解决方案2】:

将有 4 列,因为每个子数组项有 4 项。

想象将括号中的每一项堆叠在下一项之上,这样最终的数组将如下所示:

10 20 30 40
20 30 40 50
30 40 50 60

【讨论】:

  • 这也很有帮助。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-22
  • 2013-03-24
  • 2016-11-05
  • 1970-01-01
  • 1970-01-01
  • 2017-01-26
相关资源
最近更新 更多