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);
- Map<String, List<Double>> students = new LinkedHashMap<>();
- int n = Integer.parseInt(scanner.nextLine());
- for (int i = 0; i < n; i++) {
- String studentName = scanner.nextLine();
- double grade = Double.parseDouble(scanner.nextLine());
- if (!students.containsKey(studentName)) {
- students.put(studentName, new ArrayList<>());
- students.get(studentName).add(grade);
- } else {
- students.get(studentName).add(grade);
- }
- }
- Map<String, Double> averageGrade = new LinkedHashMap<>();
- for (Map.Entry<String, List<Double>> kvp : students.entrySet()) {
- double average = kvp.getValue().stream().mapToDouble(x -> x).average().getAsDouble();
- if (average >= 4.50) {
- averageGrade.put(kvp.getKey(), average);
- }
- }
- averageGrade.entrySet().stream()
- .sorted((g1, g2) -> g2.getValue().compareTo(g1.getValue()))
- .forEach(grade -> {
- System.out.println(String.format("%s -> %.2f", grade.getKey(), grade.getValue()));
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement