Student Grade Management


Submit solution

Points: 40 (partial)
Time limit: 1.0s
Memory limit: 64M

Authors:
Problem types
Allowed languages
Java 19, Java 8

題目說明

設計一個學生成績管理系統,該系統能夠讓使用者輸入學生的名字和成績。
輸入完成之後,程式會印出學生成績清單,每個學生成績的輸出格式為Student: studentName, Grade: courseGrade

要求:
  • 創建一個Student類別,用於表示學生的基本資訊和成績。
  • 創建一個GradeManager類別,用於管理多個學生。
import java.util.ArrayList;
import java.util.Scanner;

class Student {
    private String name;
    private int grade;

    // 補齊後續程式碼
    public Student(...) {
    }

    public String toString() {
        // 格式:"Student: studentName, Grade: courseGrade"
    }
}

class GradeManager {
    private ArrayList<Student> students;

    // 補齊後續程式碼
    public GradeManager() {
    }

    public void addStudent(...) {
    }

    public void printAllStudents() {
        // 分行輸出學生資料
    }
}

public class StudentGrade {

    public static void main(String[] args) {
        GradeManager gradeManager = new GradeManager();

        // 補齊後續程式碼
    }

}

輸入

一行輸入一組學生資料,如:Alice,90(中間以,分隔)
當輸入為.時,結束輸入

輸出

學生成績清單。
輸出格式為Student: studentName, Grade: courseGrade,分行輸出

測試資料0 輸入

Jack,90
Mike,95
.

測試資料0 輸出

Student: Jack, Grade: 90
Student: Mike, Grade: 95

測試資料1 輸入

J,1
M,-1
.

測試資料1 輸出

Student: J, Grade: 1
Student: M, Grade: -1

Comments


  • 0
    scu09156146  commented on May 31, 2024, 2:46 p.m.

    題解

    // 參考課堂範例A276,對讀入的資料做分割.split(",")
    // 參考期中考題【Grade Report

    import java.util.ArrayList;
    import java.util.Scanner;
    
    class Student {
        private String name;
        private int grade;
    
        public Student(String name, int grade) {
            this.name = name;
            this.grade = grade;
        }
    
        @Override
        public String toString() {
            return "Student: " + name + ", Grade: " + grade;
        }
    }
    
    class GradeManager {
        private ArrayList<Student> students;
    
        public GradeManager() {
            this.students = new ArrayList<>();
        }
    
        public void addStudent(Student student) {
            students.add(student);
        }
    
        public void printAllStudents() {
            for (Student student : students) {
                System.out.println(student);
            }
        }
    }
    
    public class StudentGrade {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            GradeManager gradeManager = new GradeManager();
    
            Scanner scanner = new Scanner(System.in);
            while (true) {
                String input = scanner.nextLine();
                if (input.equals(".")) {
                    break;
                }
    
                String[] parts = input.split(",");  // 根據`,`分割String
    
                String name = parts[0].trim();      // 修剪前後空格(此題可不加)
                int grade = Integer.parseInt(parts[1].trim());
                Student student = new Student(name, grade);
                gradeManager.addStudent(student);
            }
            scanner.close();
    
            gradeManager.printAllStudents();
        }
    
    }