Я новичок в Java, и у меня проблемы с математической тестовой программой, которую я создаю (не беспокойтесь, проблема не математическая). Я помещаю массив удвоений, равный нулю через цикл for, который присваивает им случайное число. Они сохраняют случайное число, но затем эти числа сбрасываются до нуля после выхода из цикла for. Я думал, как только я сохранил измененное число в цикле, он был постоянно изменен, но разве это не так? Вот фрагмент кода:Сохранение значений в цикле for?
int a = 0;
int b = 0;
int c = 0;
double x = 0;
Random num = new Random();
int[] abc = {a, b, c};
for(int i = 0; i <= (abc.length-1); i++){
int nums = num.nextInt(10);
abc[i] = nums;
System.out.println(abc[i]);
}
System.out.println(a + " " + b + " " + c);
Я поставил system.out в и из цикла for, чтобы увидеть, что печатает. Я не совсем уверен, почему все они снова становятся нулями или как я должен правильно переоценивать элементы. Любая помощь приветствуется. Спасибо за ваше время.
Вы не меняете 'a',' b', 'с '. Это не то, как работает Java: «a = 5; b = a; b = 10; 'не изменяет' a'. – usr2564301
В строке 6 'int [] abc = {a, b, c};' вы инициализируете новую зону в памяти со значениями копий b и c. Итак, теперь у вас есть 6 зон: a, b, c, abc [0], abc [1], abc [2]. – aurya