Advertisement
dezlatanov

Untitled

Dec 25th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. public class StudentAcademy {
  4. public static void main(String[] args) {
  5. Scanner scanner = new Scanner(System.in);
  6.  
  7. int n = Integer.parseInt(scanner.nextLine());
  8. Map<String, List<Double>> register = new LinkedHashMap<>();
  9.  
  10. for (int i = 0; i <n ; i++) {
  11. String name = scanner.nextLine();
  12. double grade = Double.parseDouble(scanner.nextLine());
  13.  
  14. List<Double> curr = register.get(name);
  15. if(curr == null){
  16. curr = new ArrayList<>();
  17. curr.add(grade);
  18. register.put(name,curr);
  19. }else{
  20. curr.add(grade);
  21. register.put(name, curr);
  22. }
  23.  
  24. }
  25.  
  26. register
  27. .entrySet()
  28. .stream()
  29. .filter(entry -> {
  30. double asDouble = entry.getValue().stream().mapToDouble(x -> x).average().getAsDouble();
  31. return asDouble>=4.50;
  32.  
  33. })
  34. .sorted((a,b) ->{
  35. return Double.compare(b.getValue().stream().mapToDouble(x -> x).average().getAsDouble(),a.getValue().stream().mapToDouble(x -> x).average().getAsDouble());
  36. })
  37. .forEach(x -> {
  38. double asDouble = x.getValue().stream().mapToDouble(f -> f).average().getAsDouble();
  39. System.out.printf("%s -> %.2f%n",x.getKey(),asDouble);
  40. });
  41.  
  42. }
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement