-3

pがint型の要素を持つ2次元配列であると仮定します。次のコードの効果を最もよく表しているのは、次のうちどれですか?

int i = 0;

while ( i < p[ 0 ].length )
{
  p[ 0 ][ i ] = 0;
  i++;
} 

誰かがこれを私のために平易な英語に翻訳できますか?私はループがいつ続くかを理解しているだけですが、何i < p[0].lengthp[0]何であるp[0][i]か?

4

4 に答える 4

4
"i" equals zero
"p" is an array of arrays
while i is smaller than the "first" array's size in p
    give 0 as value to i'th element of first array in p 
    increase i by 1
于 2012-12-23T19:43:04.317 に答える
1

変数pはおそらくint[][]--intの配列の配列です。

p[0]はの最初の要素でありp、タイプはint[]です。演算子は[]配列にインデックスを付けます。a[n]配列からインデックスnの要素をフェッチしますa。0ベースのインデックスを使用するため、最初の要素のインデックスは0です(予想どおり1ではありません)。

ループはすべての要素をp[0]値に設定します0

これは、を使用してより簡潔に実行することもできることに注意してくださいArrays.fill。次のコードは、投稿したループと同じ効果があります。

Arrays.fill(p[0], 0);
于 2012-12-23T19:41:24.443 に答える
0

iこれは、配列の1番目の配列の長さだけ増分し、 th要素をpに設定するループです。i0

javaでは、の最初の配列p[0][i]と同じです。p[i]p

おそらく、次のpように宣言されていますint[][] p

于 2012-12-23T19:38:51.120 に答える
0

p [0] .lengthは、2番目に指定された次元のサイズを指します。n次元の配列がある場合は、int a [] [] [] [] [] [] [] [... n回、aと言います。長さは最初の次元を指し、a[0].lengthは2番目の次元の長さなどを指します。

p [0] [i]は明らかに、iの現在の値で指定された列インデックスを持つ最初の行を指します。

于 2012-12-23T19:41:46.783 に答える