2017-01-04 2 views
1

Я полагаю, что существует способ узнать длину каждого измерения в многомерных массивах. У меня есть следующий код и в условном выражении for я хотел бы изменить условие так, чтобы оно работало для каждого массива.Длина для каждого измерения в двумерных массивах в Java

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 но, кажется, только для работы с массивами с уникальным измерением.

+0

'matriz1 [0] .length', например. – aioobe

ответ

3

Массивы в 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] 
+0

Работал! Благодаря всем ответам. – JetLagFox

0

Ваш 2D массив выглядит примерно так

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. Чтобы получить длину второго измерения, просто найти длину любого элемента из первого измерения. Вот пример использования нулевого индекса

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

    это даст вам 5.

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