您好,登录后才能下订单哦!
学生管理系统是一个常见的项目,用于管理学生的基本信息、成绩、课程等。本文将介绍如何使用Java编写一个简单的学生管理系统。我们将使用面向对象的设计思想,通过类、对象、集合等Java特性来实现这个系统。
在编写代码之前,我们需要明确系统的需求。一个简单的学生管理系统通常需要具备以下功能:
根据需求分析,我们可以设计以下几个类:
public class Student {
private String id; // 学号
private String name; // 姓名
private int age; // 年龄
private String gender; // 性别
// 构造方法
public Student(String id, String name, int age, String gender) {
this.id = id;
this.name = name;
this.age = age;
this.gender = gender;
}
// 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 int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
// 重写toString方法,方便打印学生信息
@Override
public String toString() {
return "Student{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", age=" + age +
", gender='" + gender + '\'' +
'}';
}
}
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class StudentManagementSystem {
private List<Student> students; // 用于存储学生信息
// 构造方法
public StudentManagementSystem() {
students = new ArrayList<>();
}
// 添加学生信息
public void addStudent(Student student) {
students.add(student);
System.out.println("学生信息添加成功!");
}
// 删除学生信息
public void deleteStudent(String id) {
Student studentToRemove = null;
for (Student student : students) {
if (student.getId().equals(id)) {
studentToRemove = student;
break;
}
}
if (studentToRemove != null) {
students.remove(studentToRemove);
System.out.println("学生信息删除成功!");
} else {
System.out.println("未找到该学生信息!");
}
}
// 修改学生信息
public void updateStudent(String id, String name, int age, String gender) {
for (Student student : students) {
if (student.getId().equals(id)) {
student.setName(name);
student.setAge(age);
student.setGender(gender);
System.out.println("学生信息修改成功!");
return;
}
}
System.out.println("未找到该学生信息!");
}
// 查询学生信息
public void queryStudent(String id) {
for (Student student : students) {
if (student.getId().equals(id)) {
System.out.println(student);
return;
}
}
System.out.println("未找到该学生信息!");
}
// 显示所有学生信息
public void displayAllStudents() {
if (students.isEmpty()) {
System.out.println("系统中暂无学生信息!");
} else {
for (Student student : students) {
System.out.println(student);
}
}
}
// 主菜单
public void showMenu() {
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("0. 退出系统");
System.out.print("请选择操作:");
int choice = scanner.nextInt();
scanner.nextLine(); // 清除缓冲区
switch (choice) {
case 1:
System.out.print("请输入学号:");
String id = scanner.nextLine();
System.out.print("请输入姓名:");
String name = scanner.nextLine();
System.out.print("请输入年龄:");
int age = scanner.nextInt();
scanner.nextLine(); // 清除缓冲区
System.out.print("请输入性别:");
String gender = scanner.nextLine();
addStudent(new Student(id, name, age, gender));
break;
case 2:
System.out.print("请输入要删除的学生学号:");
String deleteId = scanner.nextLine();
deleteStudent(deleteId);
break;
case 3:
System.out.print("请输入要修改的学生学号:");
String updateId = scanner.nextLine();
System.out.print("请输入新的姓名:");
String newName = scanner.nextLine();
System.out.print("请输入新的年龄:");
int newAge = scanner.nextInt();
scanner.nextLine(); // 清除缓冲区
System.out.print("请输入新的性别:");
String newGender = scanner.nextLine();
updateStudent(updateId, newName, newAge, newGender);
break;
case 4:
System.out.print("请输入要查询的学生学号:");
String queryId = scanner.nextLine();
queryStudent(queryId);
break;
case 5:
displayAllStudents();
break;
case 0:
System.out.println("退出系统,感谢使用!");
return;
default:
System.out.println("无效的选择,请重新输入!");
}
}
}
public static void main(String[] args) {
StudentManagementSystem system = new StudentManagementSystem();
system.showMenu();
}
}
Student
类用于表示一个学生对象,包含学生的学号、姓名、年龄和性别等基本信息。我们为每个属性提供了Getter
和Setter
方法,并重写了toString
方法,方便打印学生信息。
StudentManagementSystem
类用于管理学生信息。我们使用List<Student>
来存储学生对象,并提供了添加、删除、修改、查询和显示所有学生信息的功能。
showMenu
方法提供了一个简单的文本菜单,用户可以通过输入数字选择不同的操作。我们使用Scanner
类来获取用户的输入,并根据用户的选择调用相应的方法。
运行StudentManagementSystem
类的main
方法后,系统会显示一个菜单,用户可以根据提示进行添加、删除、修改、查询和显示学生信息的操作。
本文介绍了如何使用Java编写一个简单的学生管理系统。通过面向对象的设计思想,我们将学生信息抽象为Student
类,并使用StudentManagementSystem
类来管理这些信息。这个系统虽然简单,但涵盖了Java编程中的一些基本概念,如类、对象、集合、循环、条件判断等。读者可以根据自己的需求进一步扩展这个系统,例如增加成绩管理、课程管理等功能。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。