Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package AssociativeArraysExercise;
- 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, Double> students = new LinkedHashMap<>();
- Map<String, Integer> numberOfGrades = new LinkedHashMap<>();
- for (int i = 0; i < n; i++) {
- String name = scanner.nextLine();
- double grade = Double.parseDouble(scanner.nextLine());
- if (!students.containsKey(name)) {
- students.put(name, grade);
- numberOfGrades.put(name, 1);
- } else {
- students.put(name, students.get(name) + grade);
- numberOfGrades.put(name, numberOfGrades.get(name) + 1);
- }
- }
- Map<String, Double> result = new LinkedHashMap<>();
- for (String key : students.keySet()) {
- if (numberOfGrades.containsKey(key)) {
- result.put(key, students.get(key) / numberOfGrades.get(key));
- }
- }
- result.entrySet().stream()
- .filter(e -> e.getValue() >=4.50)
- .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder()))
- .forEach(e -> System.out.println(String.format("%s -> %.2f",e.getKey(),e.getValue())));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement