2017-04-18 103 views
0

我現在正在學習二維陣列,有一部分二維陣列我不太明白。我會顯示我的代碼並解釋我不明白的部分。二維陣列行列長度

我的代碼:

public static void main(String[] args){ 
    int[][]array={{1,2,3},{1,2,3},{1,2,3}}; 
} 
public static printArray(int[][]a){ 
    for(int row=0;row<a.length;row++){ 
     for(int column=0;column<a[row].length;column++) 
} 

我的問題是用於printArray第二種方法。在第二個循環中,column<a[row].length是什麼意思?

+1

這是1行{1,2,3}的長度。你的例子不是很好解釋這一點,因爲一切都有3的長度。 – Philippe

回答

1

該行給出了每行的大小
你知道

  • 一個[0] = {1,2,3}
  • 一個[1] = {1,2,3}
  • 一個[2] = {1,2 ,3}

所以,一個[0] =。長度A [1]。長度= A [2]。長度= 3,使用的,這是確保我們不去外出時的陣列邊界

0

Java沒有2D數組。 Java有陣列數組。第二個循環使用第<列[行] .length來確保您不會迭代超過第th行數組的長度。你需要這個來處理不同長度的嵌套數組。

0

即檢查到達的每行的限制時,爲了避免一個ArrayIndexOutOfBoundsException

0

2D陣列的條件意味着該數組的每個元素本身是一個數組。第二個循環允許你遍歷每個{1,2,3}數組(在你的情況下)。但要做到這一點,你需要每個數組的長度。這是.length所提供的。