Подскажите плиз, как ПРИКАЗАТЬ array измениться? Чтобы я не делал внутри метода - как только sort заканчивается - array приходит в изначальное состояние.
В методах без return это можно как-то обойти?
package com.javarush.task.task08.task0826;
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 < array.length; i++) {
array[i] = Integer.parseInt(reader.readLine());
}
sort(array);
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[3]);
System.out.println(array[4]);
}
public static void sort(int[] array) {
//напишите тут ваш код
Arrays.sort(array);
Collections.reverse(Arrays.asList(array));
}
}
Pavel
9 уровень
Выполнение кода происходит но данные не меняются.
Обсуждается
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Pavel qa
22 июня 2020, 08:43
кароче получилось только через цыклы. изящного решения я так и не нашел
public static void sort(int[] array) {
//напишите тут ваш код
List<Integer> list = new ArrayList<>();
for (int i = 0; i < array.length; i++) {
list.add(array[i]);
}
Collections.sort(list);
Collections.reverse(list);
for (int i = 0; i < array.length; i++) {
array[i]=list.get(i);
}
}
0
Ksenia VolkovaJava Developer в DXCMaster
21 июня 2020, 21:30
Конечно, это можно обойти - изменить сам переданный объект, а не создавать новый (т.е. в данном случае - изменить сам массив, а не создавать на его основе коллекцию).
0
Pavel qa
22 июня 2020, 07:35
public static void sort(int[] array) {
//напишите тут ваш код
Arrays.sort(array);
array = Collections.reverse(Arrays.asList(array));
}
ничего не даёт. КАК мне заставить array принять именно ТО, что я туда передаю и чтобы это сохранилось после завершения метода?
0
Ksenia VolkovaJava Developer в DXCMaster
22 июня 2020, 09:06
Так не работало, потому что опять же - ты не менял исходный массив, а создавал новый и помещал его в переменную array метода sort. При этом исходный массив (тот, на который ссылается переменная array в методе main) оставался прежним.
0