Wydaje mi się, że już warunki przy pobieraniu pierwszej liczby powinny wystarczyć, ale nie. Dodałem if, else if dla reszty kodu - też nie przechodzi ostatniego punktu.
package pl.codegym.task.task05.task0532;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
/*
Zadanie z algorytmami
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int number = 0;
while (true) {
number = Integer.parseInt(reader.readLine());
if (number > 0)
break;
else
continue;
}
if (number <= 0)
return;
else if (number > 0){
int index = number - 1;
ArrayList<Integer> list = new ArrayList<>();
while (number > 0){
int x = Integer.parseInt(reader.readLine());
list.add(x);
number--;
}
Collections.sort(list);
int maksimum = list.get(index);
System.out.println(maksimum);
}
}
}