本项目使用 Java 语言开发一个简单的学生成绩管理系统,实现以下功能:
添加学生信息: 包括学号、姓名、性别、年龄等。
录入学生成绩: 包括语文、数学、英语等科目成绩。
查询学生信息: 根据学号或姓名查询学生信息和成绩。
修改学生信息: 修改学生的基本信息或成绩。
删除学生信息: 从系统中删除学生信息。
显示所有学生信息: 以表格形式显示所有学生的信息和成绩。
1. 学生类 (Student.java)
public class Student {
private String id; // 学号
private String name; // 姓名
private String gender; // 性别
private int age; // 年龄
private double chinese; // 语文成绩
private double math; // 数学成绩
private double english; // 英语成绩
// 构造方法
public Student(String id, String name, String gender, int age) {
this.id = id;
this.name = name;
this.gender = gender;
this.age = age;
}
// getter 和 setter 方法
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 String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getChinese() {
return chinese;
}
public void setChinese(double chinese) {
this.chinese = chinese;
}
public double getMath() {
return math;
}
public void setMath(double math) {
this.math = math;
}
public double getEnglish() {
return english;
}
public void setEnglish(double english) {
this.english = english;
}
// 计算总分
public double getTotalScore() {
return chinese + math + english;
}
// 计算平均分
public double getAverageScore() {
return getTotalScore() / 3;
}
// 重写 toString 方法
@Override
public String toString() {
return "学号:" + id + "\t姓名:" + name + "\t性别:" + gender + "\t年龄:" + age +
"\t语文:" + chinese + "\t数学:" + math + "\t英语:" + english +
"\t总分:" + getTotalScore() + "\t平均分:" + getAverageScore();
}
}
2. 学生管理系统类 (StudentManagementSystem.java)
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManagementSystem {
private ArrayList studentList = new ArrayList<>(); // 学生列表
// 添加学生信息
public void addStudent() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学号:");
String id = scanner.nextLine();
System.out.println("请输入姓名:");
String name = scanner.nextLine();
System.out.println("请输入性别:");
String gender = scanner.nextLine();
System.out.println("请输入年龄:");
int age = scanner.nextInt();
studentList.add(new Student(id, name, gender, age));
System.out.println("添加成功!");
}
// 录入学生成绩
public void inputScore() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要录入成绩的学生学号:");
String id = scanner.nextLine();
for (Student student : studentList) {
if (student.getId().equals(id)) {
System.out.println("请输入语文成绩:");
double chinese = scanner.nextDouble();
System.out.println("请输入数学成绩:");
double math = scanner.nextDouble();
System.out.println("请输入英语成绩:");
double english = scanner.nextDouble();
student.setChinese(chinese);
student.setMath(math);
student.setEnglish(english);
System.out.println("成绩录入成功!");
return;
}
}
System.out.println("未找到该学生!");
}
// 查询学生信息
public void queryStudent() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要查询的学生学号或姓名:");
String keyword = scanner.nextLine();
for (Student student : studentList) {
if (student.getId().equals(keyword) || student.getName().equals(keyword)) {
System.out.println(student);
return;
}
}
System.out.println("未找到该学生!");
}
// 修改学生信息
public void modifyStudent() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要修改的学生学号:");
String id = scanner.nextLine();
for (Student student : studentList) {
if (student.getId().equals(id)) {
System.out.println("请输入新的姓名:");
String name = scanner.nextLine();
System.out.println("请输入新的性别:");
String gender = scanner.nextLine();
System.out.println("请输入新的年龄:");
int age = scanner.nextInt();
student.setName(name);
student.setGender(gender);
student.setAge(age);
System.out.println("修改成功!");
return;
}
}
System.out.println("未找到该学生!");
}
// 删除学生信息
public void deleteStudent() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要删除的学生学号:");
String id = scanner.nextLine();
for (Student student : studentList) {
if (student.getId().equals(id)) {
studentList.remove(student);
System.out.println("删除成功!");
return;
}
}
System.out.println("未找到该学生!");
}
// 显示所有学生信息
public void showAllStudents() {
if (studentList.isEmpty()) {
System.out.println("暂无学生信息!");
} else {
for (Student student : studentList) {
System.out.println(student);
}
}
}
// 主菜单
public void menu() {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("========== 学生成绩管理系统 ==========");
System.out.println("1. 添加学生信息");
System.out.println("2. 录入学生成绩");
System.out.println("3. 查询学生信息");
System.out.println("4. 修改学生信息");
System.out.println("5. 删除学生信息");
System.out.println("6. 显示所有学生信息");
System.out.println("0. 退出系统");
System.out.println("请输入您的选择:");
int choice = scanner.nextInt();
switch (choice) {
case 1:
addStudent();
break;
case 2:
inputScore();
break;
case 3:
queryStudent();
break;
case 4:
modifyStudent();
break;
case 5:
deleteStudent();
break;
case 6:
showAllStudents();
break;
case 0:
System.out.println("感谢使用!");
return;
default:
System.out.println("输入错误,请重新输入!");
}
}
}
public static void main(String[] args) {
StudentManagementSystem system = new StudentManagementSystem();
system.menu();
}
}
1. 将代码复制到两个 Java 文件中:`Student.java` 和 `StudentManagementSystem.java`。
2. 使用 `javac` 命令编译代码:`javac Student.java StudentManagementSystem.java`。
3. 使用 `java` 命令运行程序:`java StudentManagementSystem`。
4. 按照提示进行操作,体验学生成绩管理系统的功能。
可以将学生信息保存到文件中,实现数据的持久化。
可以添加排序功能,例如按总分排序、按姓名排序等。
可以添加图形用户界面 (GUI),提升用户体验。
本项目是一个简单的 Java 基础项目,涵盖了 Java 语言的基本语法、面向对象编程、集合框架等知识点。通过完成本项目,您可以巩固 Java 基础知识,并初步了解如何使用 Java 开发简单的应用程序。