2015-04-25 245 views
0

如何从Java中的二维数组1000 x 1000获得int a = 400; int b = 100;,例如mass[400][100](行400,第100列)?我在数组中找到了元素,并且需要他的行/行和列的数字。我怎样才能得到这个数字?谢谢。从二维数组获得索引

+2

什么是'巨大'?这是不是很清楚你在问什么。 –

+0

是的二维数组,对不起。我有数组1000x1000,我在第400行和第100列有质量[400] [100]。我怎么能给这个数字? –

回答

0

如果你需要找到基于该数组中的位置,你没有别的选择,只能通过整个阵列的蛮力循环,当你找到第一场比赛时爆发:

int[][] massiveArray = new int[1000][1000]; 

final int valueTofind = 27; 
// assign the value to find at position (400, 100) 
massiveArray[400][100] = valueTofind; 

int i_value = -1; 
int j_value = -1; 

// find the first occurrance of valueTofind by looping through the array 
outer: for (int i = 0; i < massiveArray.length; i++) { 
    for (int j = 0; j < massiveArray[0].length; j++) { 
     if (massiveArray[i][j] == valueTofind) { 
      i_value = i; 
      j_value = j; 
      break outer; 
     } 
    } 
} 

System.out.println(String.format("First position for %d is at (%d, %d)", 
    valueTofind, i_value, j_value)); 
+0

感谢您的回答。 –

1

你问如何获得数组的维度?

如果anew int[400][100];,那么你可以通过做a[0].lengtha.length100得到400

0

可以此解决办法。要在二维数组获取值做一个方式是

int[][] a = ...; 


for (int r=0; r < a.length; r++) { 
    for (int c=0; c < a[r].length; c++) { 
     int value= a[r][c]; 
    } 

}