【问题标题】:Find the dimensions of a 2D array in java在java中查找二维数组的维度
【发布时间】:2016-04-10 12:11:29
【问题描述】:

我正在使用 Java 中的数组并有这个疑问。如何在java中找到二维数组的维度?例如,我从 System.in 获取一个数组输入,并将其传递给另一个方法,如下所示:

Scanner in = new Scanner(System.in);
int arr[][] = new int[6][6];
for(int i=0; i < 6; i++){
    for(int j=0; j < 6; j++){
                arr[i][j] = in.nextInt();
        }
}
findSize(arr);
/*
*
*Other code
*
*/
findSize(int[] inputArr){
//I want to find the dimensions of the array here
}

数组的两个维度都大于0。感谢帮助。

【问题讨论】:

  • arr.length 是行数,每行可能有不同的列数(arr[0].length 是第一行的列数)。最后,findSize 采用一维数组。

标签: java multidimensional-array


【解决方案1】:

这个方法:

findSize(int[] inputArr){
//I want to find the dimensions of the array here
}

得到一个二维数组作为参数

因此你应该这样做:

findSize(int[][] inputArr){
     int heiht = inputArr.length;
     int width = inputArr[0].length;
}

【讨论】:

  • 您可能希望将 long 更改为 length。 long 是 Java 中预定义的关键字
  • 这个方法很有用,真的!谢谢!
  • 这个方法很有用,真的!谢谢!
【解决方案2】:

我只需要像这样访问数组的第 0 个元素:

int size = inputArr[0].length;

这样就可以了!

【讨论】:

  • 请注意,inputArr 的每个条目对于锯齿状数组可能具有不同的长度。
【解决方案3】:

二维数组是数组的数组。要获得第二维的实际长度(第一维的每个数组条目可能不同),请执行以下操作:

int[] findSize(int[][] inputArr) {
    int[] size = new int[inputArr.length];

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

    return size;
}

要获得 2D-Array 维度 1:

int size_1 = inputArr.length;

获取二维数组维度 2:

int[] size_2 = findSize(inputArr);

【讨论】:

    猜你喜欢
    • 2023-03-29
    • 2012-05-29
    • 1970-01-01
    • 2013-03-16
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    • 2011-06-19
    • 1970-01-01
    相关资源
    最近更新 更多