Подскажите что не так?
package com.javarush.task.pro.task13.task1333;
/*
Спасти рядового Компиляена
*/
import java.util.*;
public class Solution {
public static List<Integer> ratingsList = new ArrayList<>();
public static void main(String[] args) {
setRatings();
printList(); // before
improveRatings();
printList(); // after
}
public static void changeNegativeNumbers() {
List<Integer> copyRatingsList = new ArrayList(ratingsList);
for (int i : copyRatingsList) {
int positive = Math.abs(i);
ratingsList.set(i, positive);
}
}
public static void changeZerosToMaximumNumber() {
int max = Collections.max(ratingsList);
List<Integer> copyRatingsList = new ArrayList(ratingsList);
for (int i : copyRatingsList) {
if (i == 0) {
ratingsList.set(i, max);
}
}
}
public static void reverseList() {
Collections.sort(ratingsList);
Collections.reverse(ratingsList);
}
public static void improveRatings() {
changeNegativeNumbers();
changeZerosToMaximumNumber();
reverseList();
}
private static void setRatings() {
int rating;
Random random = new Random();
int min = -5;
int max = 11;
for (int i = 0; i < 20; i++) {
rating = random.nextInt(max - min) + min;
ratingsList.add(rating);
}
}
private static void printList() {
ratingsList.forEach((value) -> System.out.print(value + " "));
System.out.println();
}
}