Изначально хотел решить задачу таким образом:
public class Home {
public static void main(String[] args) {
int[] array = {11, 22, 33, 44, 55, 66, 77, 88, 99};
printArray(array);
reverseArray(array);
printArray(array);
}
public static void reverseArray(int[] x) {
int[] a = Arrays.copyOf(x, x.length); // Пункт 1.
int b = 0;
int c = x.length;
int[] array = Arrays.copyOf(a, a.length);
for (int i = 0; i < a.length; i++) {
a[b] = x[c - 1]; // Пункт 2.
b++;
c--;
}
int[] array = Arrays.copyOf(a, a.length); // Пункт 3. Почему я не могу скопировать один массив в другой в этом месте?
}
public static void printArray(int[] array) {
for (int i : array) {
System.out.print(i + ", ");
}
System.out.println();
}
}
Напомню, что цель задачи - сделать так, чтобы элементы массива шли обратном порядке.
В указанном коде я :
1. Создаю копию массива, объявленного в методе main, чтобы с этой копией проводить целевые манипуляции.
2. Далее переставляю элементы созданной копии массива согласно условиям задачи (содержание первых индексов копии массива заменяю содержанием последних индексов в оригинальном массиве (сейчас уже знаю, что можно через формулу решить проще, даже без промежуточной переменной, но не суть).
3. Далее проблемный пункт: пытаюсь элементы созданной копии, которая обработана, скопировать в изначальный массив. Но эта операция не проходит.
Вопрос: почему такая операция не проходит.
valuearray в методе main из метода reverseArray