2017-04-18 12 views
0

私は2D配列を勉強していますが、2D配列の一部があります。私は自分のコードを示し、私が理解できない部分を説明します。2D配列の行と列の長さ

マイコード:

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の第二の方法のためです。 2番目のforループでは、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] .LENGTH = [1] .LENGTH =この[2] .LENGTH = 3.我々はアウト・オブを行くいけないことを確認することです配列境界はです。

0

Javaには2D配列がありません。 Javaには配列の配列があります。 2番目のループでは、列番号< [行] .lengthを使用して、行番号の配列の長さを反復しないことを確認します。さまざまな長さのネストされた配列を処理するには、これが必要です。

0

各行の制限が2次元アレイは、アレイの各要素がアレイ自体であることを意味するArrayIndexOutOfBoundsException

0

を回避するために、到達したときに確認するための条件です。 2番目のループでは、各{1,2,3}配列(あなたの場合)をループすることができます。しかし、それを行うには、各配列の長さが必要です。これは[行] .lengthが提供するものです。