Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Lekciq;
- import java.util.ArrayList;
- import java.util.Map;
- import java.util.Scanner;
- import java.util.TreeMap;
- public class AverageStudentsGrades {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- int n = scanner.nextInt();
- scanner.nextLine(); // Consume newline
- TreeMap<String, ArrayList<Double>> studentRecords = new TreeMap<>();
- // Reading input and populating student records
- for (int i = 0; i < n; i++) {
- String line = scanner.nextLine();
- String[] parts = line.split(" ");
- String name = parts[0];
- double grade = Double.parseDouble(parts[1]);
- if (!studentRecords.containsKey(name)) {
- studentRecords.put(name, new ArrayList<>());
- }
- studentRecords.get(name).add(grade);
- }
- // Printing grades and average grades for each student
- for (Map.Entry<String, ArrayList<Double>> entry : studentRecords.entrySet()) {
- String name = entry.getKey();
- ArrayList<Double> grades = entry.getValue();
- System.out.print(name + " -> ");
- for (double grade : grades) {
- System.out.printf("%.2f ", grade);
- }
- System.out.printf("(avg: %.2f)\n", calculateAverage(grades));
- }
- }
- // Method to calculate the average grade
- private static double calculateAverage(ArrayList<Double> grades) {
- double sum = 0;
- for (double grade : grades) {
- sum += grade;
- }
- return sum / grades.size();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement