Java 中二维数组中每个维度的长度

Length for each dimension in bidimensional arrays in Java

我想有一种方法可以知道多维数组中每个维度的长度。我有以下代码,在 for 条件中,我想更改条件,以便它适用于每个数组。

import javax.swing.JOptionPane;

public class Arrays_bidimensionales {

    public static void main(String[] args) {
        int[][] matriz1 = new int[4][5];
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 5; j++) {
                matriz1[i][j] = Integer.parseInt(JOptionPane.showInputDialog("Introduce el valor para la posición" + i + "." + j));
                System.out.print(" " + matriz1[i][j] + " ");
            }
            System.out.println();
        }
    }
}

我尝试过 matriz1.length,但似乎只适用于具有唯一维度的数组。

Java 中的数组有一个 length 属性,因此您可以动态查询数组的长度,即使它是多维交错数组:

int [][] matriz1 = // initialized somehow...
for (int i = 0 ; i < matriz1.length ; i++) {
    for (int j = 0 ; j < matriz1[i].length; j++) {
        // Do something with matriz1[i][j]

你的二维数组看起来像这样

int[][] matriz1 = new int[4][5];

  1. 要获取第一个维度的长度,可以使用

    int length1 = matriz1.length; //length1 = 4
    

    这会给你 4

    int[][] matriz1 = new int[4][5]; //this way you're refering to the first dimension
                              ^
    
  2. 要得到第二个维度的长度,只要找到任意一个的长度 来自第一维的元素。这是一个使用第 0 个索引

    的示例
    int length2 = matriz1[0].length; //length2 = 5
    

    这会给你 5.

    int[][] matriz1 = new int[4][5]; //this way you're refering to second dimension
                                 ^