学生成绩管理 功能要求:按照以下要求构造出学生类Student,设计和编写相应的成员变量,构造函数以及成员方法,并编写StudentScore类来完成以下的功能: 编写控制台主界面,根据提示,输入数字:1代表显示所有学生信息,2代表计算当前每个学生的平均成绩,3代表退出程序。用Java完成,且用简单方法
时间: 2024-03-23 14:42:12 浏览: 66
好的,我明白了。以下是实现学生成绩管理的Java代码:
```
import java.util.ArrayList;
import java.util.Scanner;
class Student {
private String name;
private int id;
private ArrayList<Double> scores;
public Student(String name, int id) {
this.name = name;
this.id = id;
scores = new ArrayList<>();
}
public void addScore(double score) {
scores.add(score);
}
public double getAverageScore() {
double sum = 0;
for (double score : scores) {
sum += score;
}
return sum / scores.size();
}
public String toString() {
return "学生姓名:" + name + ",学号:" + id;
}
}
class StudentScore {
private ArrayList<Student> students;
private Scanner scanner;
public StudentScore() {
students = new ArrayList<>();
scanner = new Scanner(System.in);
}
public void run() {
while (true) {
System.out.println("请输入数字以选择操作:1.显示所有学生信息 2.计算每个学生的平均成绩 3.退出程序");
int choice = scanner.nextInt();
switch (choice) {
case 1:
showAllStudents();
break;
case 2:
showAverageScores();
break;
case 3:
return;
default:
System.out.println("无效的选择,请重新输入");
}
}
}
private void showAllStudents() {
System.out.println("所有学生信息如下:");
for (Student student : students) {
System.out.println(student);
}
}
private void showAverageScores() {
for (Student student : students) {
System.out.println(student + ",平均成绩:" + student.getAverageScore());
}
}
public void addStudent(String name, int id) {
students.add(new Student(name, id));
}
public void addScore(int id, double score) {
for (Student student : students) {
if (student.id == id) {
student.addScore(score);
System.out.println("成绩添加成功");
return;
}
}
System.out.println("未找到该学生");
}
}
public class Main {
public static void main(String[] args) {
StudentScore studentScore = new StudentScore();
studentScore.addStudent("张三", 1001);
studentScore.addStudent("李四", 1002);
studentScore.addScore(1001, 80);
studentScore.addScore(1001, 90);
studentScore.addScore(1002, 85);
studentScore.run();
}
}
```
这段代码实现了以下功能:
1. 定义了学生类 `Student`,包含姓名、学号以及成绩列表等成员变量,以及添加成绩、计算平均成绩等成员方法。
2. 定义了学生成绩管理类 `StudentScore`,包含学生列表以及控制台交互等成员方法。
3. 在 `main` 方法中,先创建 `StudentScore` 对象,并添加两名学生和若干个成绩,然后调用 `run` 方法进入控制台交互。
在控制台交互过程中,用户可以选择显示所有学生信息、计算每个学生的平均成绩或退出程序。选择后,相应的方法将被调用并执行对应的操作。
阅读全文