Advertisement
IrinaIgnatova

Student Academy

Jul 17th, 2019
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.50 KB | None | 0 0
  1. package com.company;
  2.  
  3.  
  4. import java.util.*;
  5. import java.util.stream.Collectors;
  6.  
  7. public class Main {
  8.  
  9.     public static void main(String[] args) {
  10.  
  11.         Scanner scanner = new Scanner(System.in);
  12.         LinkedHashMap<String, ArrayList<Double>> studentsGrades = new LinkedHashMap<>();
  13.  
  14.         int n = Integer.parseInt(scanner.nextLine());
  15.         for (int i = 0; i < n; i++) {
  16.             String name = scanner.nextLine();
  17.             double grade = Double.parseDouble(scanner.nextLine());
  18.  
  19.             if (!studentsGrades.containsKey(name)) {
  20.                 studentsGrades.put(name, new ArrayList<>());
  21.                 studentsGrades.get(name).add(grade);
  22.             } else {
  23.                 studentsGrades.get(name).add(grade);
  24.             }
  25.  
  26.         }
  27.         Map<String, Double> averageStudets = new LinkedHashMap<>();
  28.         for (String name : studentsGrades.keySet()) {
  29.             double sum = 0;
  30.             for (int i = 0; i < studentsGrades.get(name).size(); i++) {
  31.                 sum += studentsGrades.get(name).get(i);
  32.  
  33.             }
  34.             double average = sum / studentsGrades.get(name).size();
  35.             if (average >= 4.50) {
  36.                 averageStudets.put(name, average);
  37.             }
  38.  
  39.         }
  40.         averageStudets.entrySet().stream().sorted(Map.Entry.<String, Double>comparingByValue().reversed())
  41.                 .forEach(entry ->
  42.                         System.out.println(String.format("%s -> %.2f", entry.getKey(), entry.getValue())));
  43.  
  44.     }
  45.  
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement