In (например) for(int i: intArray)
, i
не является псевдонимом для элементов intArray
; это просто переменная, которая установлена для каждого элемента intArray
. Итак, это:
for(int i: intArray) {
int k = gen1.nextInt(10);
i = k;
}
эквивалентно этому:
for(int index = 0; index < intArray.size(); ++index)
{
int i = intArray[index];
int k = gen1.nextInt(10);
i = k;
}
(то есть он устанавливает i
равным intArray[index]
, но затем устанавливает его на что-то совершенно иное). Что вам действительно нужно, это:
for(int index = 0; index < intArray.size(); ++index)
intArray[index] = gen1.nextInt(10);