0

インターネット上でヒントを見つけることができませんでした。「for each」の言及のほとんどは、「配列に割り当てられた値を変更できない」と言っていますが、それは不可能ですか? 私のコードはこれです:

Scanner in = new Scanner(System.in);
int[] arr = new int[5];
for(int i : arr)
    i = in.nextInt();

「for each」を使用し、Scanner クラスを使用して数値を読み取りたいのですが、助けてください..

4

2 に答える 2

4

単純なループを使用して、読み取り番号を配列の - 番目の位置にfor追加します。i

Scanner in = new Scanner(System.in);
int[] arr = new int[5];
for (int i = 0; i < arr.length; i++) {
    arr[i] = in.nextInt();
}

for配列は最初は空であるため、特定のシナリオで拡張ループを使用してもあまり意味がありません。ただし、作成された配列を反復処理するために使用できます。つまり、次のようになります。

for (int i : arr) {
  System.out.println(i);
}
于 2012-09-25T13:42:12.733 に答える
0

これと同じくらい簡単です: -

Scanner in = new Scanner(System.in);
int[] arr = {0, 1, 2, 3, 4};

for (int i : arr) {
    arr[i] = in.nextInt();
}

しかし、上記の で述べたようにJoão Silva、 for-each ループは、初期化ではなく、既に初期化された配列を反復処理する場合にのみ使用する必要があります。

于 2012-09-25T13:46:47.520 に答える