java 用List集合管理学生对象。设计学生Student类和学生管理类StudentManager。Student类包含学号、姓名、上学期所学课程成绩(不少于3门)、总分。StudentManager类的功能包括添加学生、查询学生、删除学生、统计学生成绩等。分别用LinkedList和ArrayList集合来管理若干学生实例。另外还需要设计测试类Test来验证StudentManager的功能。
时间: 2024-02-18 11:03:30 浏览: 29
好的,我理解了你的问题。下面是Java代码实现:
```java
// 学生类
public class Student {
private String id; // 学号
private String name; // 姓名
private double[] scores; // 学生成绩
private double totalScore; // 总分
public Student(String id, String name, double[] scores) {
this.id = id;
this.name = name;
this.scores = scores;
this.totalScore = 0.0;
for (double score : scores) {
this.totalScore += score;
}
}
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 double[] getScores() {
return scores;
}
public void setScores(double[] scores) {
this.scores = scores;
}
public double getTotalScore() {
return totalScore;
}
public void setTotalScore(double totalScore) {
this.totalScore = totalScore;
}
}
// 学生管理类
import java.util.*;
public class StudentManager {
private List<Student> studentList;
public StudentManager() {
this.studentList = new LinkedList<>(); // 或者 ArrayList
}
// 添加学生
public void addStudent(Student student) {
studentList.add(student);
}
// 查询学生
public Student getStudent(String id) {
for (Student student : studentList) {
if (student.getId().equals(id)) {
return student;
}
}
return null;
}
// 删除学生
public boolean deleteStudent(String id) {
Student student = getStudent(id);
if (student != null) {
return studentList.remove(student);
}
return false;
}
// 统计学生成绩
public double getAverageScore() {
double totalScore = 0.0;
for (Student student : studentList) {
totalScore += student.getTotalScore();
}
return totalScore / studentList.size();
}
}
// 测试类
public class Test {
public static void main(String[] args) {
StudentManager manager = new StudentManager();
// 添加学生
double[] scores1 = {90.0, 85.0, 95.0};
Student student1 = new Student("001", "Tom", scores1);
manager.addStudent(student1);
double[] scores2 = {80.0, 88.0, 92.0};
Student student2 = new Student("002", "Jerry", scores2);
manager.addStudent(student2);
// 查询学生
System.out.println(manager.getStudent("001").getName()); // 输出:Tom
// 删除学生
manager.deleteStudent("002");
// 统计学生成绩
System.out.println(manager.getAverageScore()); // 输出:90.0
}
}
```
这里我们使用了LinkedList和ArrayList两种集合来管理学生实例。你可以根据你的需求选择任意一种。同时,我们还实现了学生管理的基本功能:添加学生、查询学生、删除学生、统计学生成绩。最后,我们使用测试类Test来验证了这些功能的正确性。