Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class StudentAcademy {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- int n = Integer.parseInt(scanner.nextLine());
- Map<String, List<Double>> register = new LinkedHashMap<>();
- for (int i = 0; i <n ; i++) {
- String name = scanner.nextLine();
- double grade = Double.parseDouble(scanner.nextLine());
- List<Double> curr = register.get(name);
- if(curr == null){
- curr = new ArrayList<>();
- curr.add(grade);
- register.put(name,curr);
- }else{
- curr.add(grade);
- register.put(name, curr);
- }
- }
- register
- .entrySet()
- .stream()
- .filter(entry -> {
- double asDouble = entry.getValue().stream().mapToDouble(x -> x).average().getAsDouble();
- return asDouble>=4.50;
- })
- .sorted((a,b) ->{
- return Double.compare(b.getValue().stream().mapToDouble(x -> x).average().getAsDouble(),a.getValue().stream().mapToDouble(x -> x).average().getAsDouble());
- })
- .forEach(x -> {
- double asDouble = x.getValue().stream().mapToDouble(f -> f).average().getAsDouble();
- System.out.printf("%s -> %.2f%n",x.getKey(),asDouble);
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement