Java实现简单的学生管理系统
系统概述
本系统主要用于实现学生的增删查改功能,通过控制台输入进行操作,界面简单,操作方便。
系统架构
代码采用Java语言实现,采用MVC模式进行设计。其中,Model层主要负责数据存储与业务逻辑;View层主要负责展示数据和接受用户输入;Controller层主要负责控制Model和View的交互,实现对Model层数据的访问和UI层的控制。
数据模型
本系统中,学生类(Student)为核心的数据模型,包括学生的姓名、年龄、性别、学号等基本信息和其对应的课程成绩。
示例代码:
public class Student {
private String name; // 学生姓名
private int age; // 学生年龄
private String gender; // 学生性别
private String id; // 学号
private Map<Course, Double> scores; // 课程成绩
// 构造函数
public Student(String name, int age, String gender, String id) {
this.name = name;
this.age = age;
this.gender = gender;
this.id = id;
this.scores = new HashMap<>();
}
// getter和setter方法
...
}
系统功能
添加学生信息
用户可以通过控制台输入学生的基本信息和对应的课程成绩,然后将学生信息保存在数据模型中。
示例代码:
public class StudentController {
private StudentModel model;
public StudentController(StudentModel model) {
this.model = model;
}
// 添加学生信息
public void addStudent() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入学生姓名:");
String name = scanner.nextLine();
System.out.print("请输入学生年龄:");
int age = scanner.nextInt();
scanner.nextLine();
System.out.print("请输入学生性别:");
String gender = scanner.nextLine();
System.out.print("请输入学生学号:");
String id = scanner.nextLine();
Student student = new Student(name, age, gender, id);
// 输入学生的课程成绩
System.out.print("请输入课程名:");
String courseName = scanner.nextLine();
while (!courseName.equals("exit")) {
System.out.print("请输入" + courseName + "的成绩:");
double score = scanner.nextDouble();
scanner.nextLine();
student.setScore(courseName, score);
System.out.print("请输入课程名(输入exit停止录入):");
courseName = scanner.nextLine();
}
model.addStudent(student);
System.out.println("添加成功!");
}
}
删除学生信息
用户可以通过学号来删除相应的学生信息。
示例代码:
public class StudentController {
private StudentModel model;
public StudentController(StudentModel model) {
this.model = model;
}
// 删除学生信息
public void deleteStudent() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要删除的学生学号:");
String id = scanner.nextLine();
boolean result = model.deleteStudent(id);
if (result) {
System.out.println("删除成功!");
} else {
System.out.println("该学生不存在!");
}
}
}
查找学生信息
用户可以通过学号来查找相应的学生信息。
示例代码:
public class StudentController {
private StudentModel model;
public StudentController(StudentModel model) {
this.model = model;
}
// 查找学生信息
public void findStudent() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要查找的学生学号:");
String id = scanner.nextLine();
Student student = model.findStudent(id);
if (student != null) {
System.out.println(student);
} else {
System.out.println("该学生不存在!");
}
}
}
修改学生信息
用户可以通过学号来修改相应的学生信息,包括基本信息和课程成绩。
示例代码:
public class StudentController {
private StudentModel model;
public StudentController(StudentModel model) {
this.model = model;
}
// 修改学生信息
public void updateStudent() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要修改的学生学号:");
String id = scanner.nextLine();
Student student = model.findStudent(id);
if (student == null) {
System.out.println("该学生不存在!");
return;
}
System.out.print("请输入学生姓名:");
String name = scanner.nextLine();
student.setName(name);
System.out.print("请输入学生年龄:");
int age = scanner.nextInt();
scanner.nextLine();
student.setAge(age);
System.out.print("请输入学生性别:");
String gender = scanner.nextLine();
student.setGender(gender);
// 修改学生的课程成绩
System.out.print("请输入课程名:");
String courseName = scanner.nextLine();
while (!courseName.equals("exit")) {
System.out.print("请输入" + courseName + "的成绩:");
double score = scanner.nextDouble();
scanner.nextLine();
student.setScore(courseName, score);
System.out.print("请输入课程名(输入exit停止修改):");
courseName = scanner.nextLine();
}
model.updateStudent(student);
System.out.println("修改成功!");
}
}
总结
本系统实现了基本的学生管理功能,便于学生信息的录入、查询、修改和删除。其中,数据模型设计合理,利于扩展新的业务需求。控制器层的代码结构清晰,易于维护和修改。但是,界面简陋且灵活性不高,无法满足高级用户对于界面的个性化需求,需要进一步完善。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java实现简单的学生管理系统 - Python技术站