1
3つの整数を生成し、各値を配列のインデックスに割り当てる簡単なforループを作成しようとしています。私のコードの2番目のforループは予期しない結果を返します。誰かが私に何が起こっているのか説明できますか? forループの強化を使用することによりループの配列とJavaのRNG
import java.util.Random;
public class Main {
public static void main(String[] args) {
//variables
int[] array = new int[3];
Random rand = new Random();
//all else
for(int item : array) {
array[item] = rand.nextInt(100)+1;
System.out.println(array[item]);
}
System.out.println("\n " + array[0] + " " + array[1] + " " + array[2]);
for(int i = array.length; i > 0; i--){
System.out.println(array[i-1]);
}
}
}
は、なぜあなたは 'item'が意味的に正しい配列のインデックスを保持していると思います:
が正しく配列を反復するには、次の使用する必要がありますか? – Tom
'int [] array = new int [3];'各インデックスにデフォルト値0の整数配列を作成します。あなたは常に0の配列値をループしています。配列に値を代入すると常に配列[0]になるので、配列[0]は最後の乱数を持ちます。他のインデックスの値はそのままです。 0。 – kratostoical