Попробовал сделать так:
Arrays.sort(array);
int[] newArray = new int[20];
for (int i = 0; i <array.length; i++) {
newArray[i] = array[array.length-1-i];
}
array = newArray;
Внутри метода array меняет сортировку, но при выводе в методе main он остается отсортированным по возразатнию.
Не понимаю, почему Arrays.sort(array) работает на переменную существующую вне метода, а array = newArray - не работает?
package com.javarush.task.task07.task0728;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Collections;
/*
В убывающем порядке
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int[] array = new int[20];
for (int i = 0; i < 20; i++) {
array[i] = Integer.parseInt(reader.readLine());
}
sort(array);
for (int x : array) {
System.out.println(x);
}
}
public static void sort(int[] array) {
//напишите тут ваш код
Arrays.sort(array);
int[] newArray = new int[20];
for (int i = 0; i <array.length; i++) {
newArray[i] = array[array.length-1-i];
}
array = newArray;
}
}