From 2b509bbe49fda9a2bec92bd65f3a37b8e94c76c0 Mon Sep 17 00:00:00 2001 From: pc9pizjb6 <122855890@qq.com> Date: Sat, 1 Nov 2025 23:45:04 +0800 Subject: [PATCH] ADD file via upload --- Student.java | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 Student.java diff --git a/Student.java b/Student.java new file mode 100644 index 0000000..2c595dd --- /dev/null +++ b/Student.java @@ -0,0 +1,116 @@ +package com.studentmanagement.model; + +import java.util.HashMap; +import java.util.Map; + +/** + * 学生实体类 + * 表示系统中的学生对象,包含基本信息和课程成绩 + */ +public class Student { + private String id; // 学生ID + private String name; // 学生姓名 + private int age; // 学生年龄 + private String gender; // 学生性别 + private Map courseGrades; // 课程成绩映射 + + /** + * 构造函数 + * @param id 学生ID + * @param name 学生姓名 + * @param age 学生年龄 + * @param gender 学生性别 + */ + public Student(String id, String name, int age, String gender) { + this.id = id; + this.name = name; + this.age = age; + this.gender = gender; + this.courseGrades = new HashMap<>(); + } + + // Getters and Setters + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } + + public String getGender() { + return gender; + } + + public void setGender(String gender) { + this.gender = gender; + } + + public Map getCourseGrades() { + return courseGrades; + } + + public void setCourseGrades(Map courseGrades) { + this.courseGrades = courseGrades; + } + + /** + * 添加课程成绩 + * @param course 课程名称 + * @param grade 成绩 + */ + public void addCourseGrade(String course, double grade) { + courseGrades.put(course, grade); + } + + /** + * 获取特定课程的成绩 + * @param course 课程名称 + * @return 成绩,如果课程不存在返回null + */ + public Double getCourseGrade(String course) { + return courseGrades.get(course); + } + + /** + * 计算平均成绩 + * @return 平均成绩,如果没有课程成绩返回0 + */ + public double calculateAverageGrade() { + if (courseGrades.isEmpty()) { + return 0.0; + } + double sum = 0.0; + for (double grade : courseGrades.values()) { + sum += grade; + } + return sum / courseGrades.size(); + } + + @Override + public String toString() { + return "Student{" + + "id='" + id + "'" + + ", name='" + name + "'" + + ", age=" + age + + ", gender='" + gender + "'" + + ", averageGrade=" + String.format("%.2f", calculateAverageGrade()) + + "}"; + } +} \ No newline at end of file