设计一个嵌套结构,使他可以表示学生全部信息,包括姓名年龄学号班级所有课成绩
时间: 2024-12-23 11:19:27 浏览: 0
设计一个嵌套数据结构来表示学生的信息通常会涉及到类的设计。我们可以创建一个名为`Student`的类,然后在这个类内部再包含其他属性来表示详细信息。这里是一个简单的例子:
```java
class Student {
private String name;
private int age;
private String studentID;
private String className;
private Map<String, Double> courseGrades; // 使用Map存储课程名和对应的成绩
// 构造函数
public Student(String name, int age, String studentID, String className) {
this.name = name;
this.age = age;
this.studentID = studentID;
this.className = className;
this.courseGrades = new HashMap<>(); // 初始化空的课程成绩映射
}
// getter和setter方法
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 getStudentID() { return studentID; }
public void setStudentID(String studentID) { this.studentID = studentID; }
public String getClassName() { return className; }
public void setClassName(String className) { this.className = className; }
public void addGrade(String courseName, double grade) {
courseGrades.put(courseName, grade);
}
public double getGrade(String courseName) {
return courseGrades.getOrDefault(courseName, -1); // 如果课程不存在返回默认值或-1
}
// 其他辅助方法,如打印学生信息等...
}
// 示例如何使用
Student student = new Student("张三", 18, "001", "高三(1)班");
student.addGrade("数学", 95);
student.addGrade("英语", 90);
// 输出部分学生信息
System.out.println("学生姓名: " + student.getName());
System.out.println("学号: " + student.getStudentID());
System.out.println("数学成绩: " + student.getGrade("数学"));
```
阅读全文