Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class AverageStudentGrades {
- public static void main(String[] args) {
- Scanner scan = new Scanner(System.in);
- TreeMap<String, ArrayList<Double>> students = getStudents(scan);
- students.entrySet().forEach(entry -> {
- System.out.print(entry.getKey() + " -> ");
- entry.getValue().forEach(innerEntry -> System.out.printf("%.2f ", innerEntry));
- System.out.printf("(avg: %.2f)%n", entry.getValue().stream().mapToDouble(e -> e).average().getAsDouble());
- });
- }
- private static TreeMap<String, ArrayList<Double>> getStudents(Scanner scan) {
- int n = Integer.parseInt(scan.nextLine());
- TreeMap<String, ArrayList<Double>> students = new TreeMap<>();
- for (int i = 0; i < n; i++) {
- String[] tokens = scan.nextLine().split("\\s+");
- String name = tokens[0];
- Double grade = Double.parseDouble(tokens[1]);
- students.putIfAbsent(name, new ArrayList<>());
- students.get(name).add(grade);
- }
- return students;
- }
- }
Add Comment
Please, Sign In to add comment