2016-04-10 9 views
0

Java'da Arrays ile oynuyorum ve bu şüpheye kapıldım. Bir 2D dizisinin boyutlarını java'da nasıl bulurum? Örneğin, System.in bir dizi giriş almak ve bu gibi bir yöntemde geçmek: dizininJava'da bir 2B dizinin boyutlarını bulun

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 
} 

iki boyut da takdir 0 büyüktür.

+1

'arr.length' satır sayısını, ve her sıra kolonları (farklı bir sayıda olabilir' dizi [0], ilk sütun sayısı .length' olduğu kürek çekmek). Son olarak, 'findSize 'tek bir boyuta sahip bir dizi alır. –

cevap

0

ben sadece bu gibi dizinin 0 elemanını erişmesi gereken:

int size = inputArr[0].length; 

Bu işi halleder!

+0

"inputArr" öğesinin her girişinin, pürüzlü diziler için farklı bir uzunluğa sahip olabileceğini unutmayın. –

0

Bu yöntem:

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

dolayısıyla yapmalıdır parametre olarak bir 2 boyutlu dizi

olmaktadır:

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

Uzun uzunluğunu değiştirmek isteyebilirsiniz. Java – star2wars3

+0

'da önceden tanımlanmış bir anahtar kelime uzun evet evet haklısın ... teşekkürler !!!!!! –

+0

Bu gerçekten yararlı bir yöntem! Teşekkürler! –

0

bir 2-boyutlu dizi dizilerin bir dizidir. (Ilk boyut her bir dizi giriş için farklı olabilir), ikinci boyutun gerçek uzunluğu elde etmek için bunu:

int size_1 = inputArr.length; 

almak için:

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-Dizi boyutu 1 elde etmek için 2D-dizi boyutu 2:

int[] size_2 = findSize(inputArr);