java - 用java编写二维数组

标签 java arrays

我的 java 程序中有以下二维数组。

Integer[][] arrayOfSets = {
        {1,2,5,6,9,10},
        {9,10,11,12},
        {1,2,3,4},
        {3,5,6,7,8},
        {9,10,11,12},
        {4,8},
};

有人可以告诉我如何使程序动态化的代码,其中程序要求用户输入行号和列号,即二维数组应容纳多少个数组,然后询问用户有多大每个数组以及每个数组应保存的数字是多少? 非常感谢。

这是我迄今为止尝试过的:

 System.out.println("HOw many sets arrays would you like");
    int numArrays=sc.nextInt();
    Integer [][] arrayName = new Integer[numArrays][];
    for(int i=0;i<arrayName.length;i++){
        System.out.println("enter the size of the array number"+i);
        int sizeArray=sc.nextInt();
        for(int k=0;k<sizeArray;k++){
            System.out.println("enter element");
            int e=sc.nextInt();
            arrayName[i][k]=e;
        }

    }

这看起来合适吗?感谢您提前提供的所有帮助。

好吧,我再次修改了我的鳕鱼。以下是我现在拥有的:

System.out.print("你想要多少个数组?"); int numSets=sc.nextInt(); Integer[][] 结果 = new Integer[numSets][];

for (int k=0; k< numSets; k++){
  System.out.println("Enter the size of the array");
  int setSize  = sc.nextInt();

  Integer[] row = new Integer[setSize];
  for (int m=0; m< setSize; m++){
      System.out.println("enter element: ");
      row[m] = sc.nextInt();
  }
  result[k] = row;
}

最佳答案

你所拥有的几乎是正确的。这:

Integer [][] arrayName = new Integer[numArrays][];

创建第一个维度,但您还需要创建单独的第二个维度。读取每个数组的大小后:

int sizeArray=sc.nextInt();

您需要创建相应的数组:

arrayName[i] = new Integer[sizeArray];

关于java - 用java编写二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4289276/

相关文章:

javascript - 基于 "category"属性和 sum "amount"属性减少对象数组

arrays - 在foreach循环中使用Parallel::ForkManager

javascript - Angular ng-options 复杂的 json 数组

Java GUI基本登录与MySQL报告错误的登录信息

java - 如何检测玩家之前是否玩过游戏

arrays - 可以使用 Realm 和快速删除基于主键的行吗?

java - 尽管没有访问任何越界索引,但出现异常 "ArrayOutOfBounds:1"

java - 我怎样才能让这个 switch 语句使用扫描仪工作?

java - EJB junit 测试的最佳模拟对象框架

java - Android 中消息 toast 的文件未找到异常