2015-04-25 162 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]; 
    } 

}