Не понимаю почему не подходит такое решение, внутри метода все норм, array присваивается значение copyArray, но когда дело доходит до вызова последнего printArray в main, то печатается исходный массив {11, 22, 33, 44, 55, 66, 77, 88, 99}.
Задачу в итоге решил с помощью такого метода reverseArray
public static void reverseArray(int[] array) {
int[] copyArray = new int[array.length];
for(int i = 0; i < copyArray.length; i++){
copyArray[i] = array[(array.length - 1) - i];
}
for(int i = 0; i < array.length; i++){
array[i] = copyArray[i];
}
}
Но не понимаю, почему первый вариант не работает, а второй - работает.package com.javarush.task.pro.task06.task0605;
/*
Правильный порядок
*/
public class Solution {
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[] array) {
int[] copyArray = new int[array.length];
for(int i = 0; i < copyArray.length; i++){
copyArray[i] = array[(array.length - 1) - i];
}
array = copyArray;
}
public static void printArray(int[] array) {
for (int i : array) {
System.out.print(i + ", ");
}
System.out.println();
}
}