用Java分文件写一个学籍管理系统功能如下:一种用于管理学生个人信息的系统,主要涉及学籍注册、日常管理、退、休学等方面。该系统需要能够实现学生信息的录入、修改、查询、统计等功能,并能够对学生信息进行分类管理
时间: 2023-07-10 16:08:05 浏览: 42
好的,以下是一个简单的学籍管理系统的代码示例。我们将使用Java的面向对象编程思想,将不同的功能分别封装在不同的类中。
首先是主类StudentManagementSystem,这个类包含了程序的入口方法main(),以及一些基本的输入输出操作。
```java
import java.util.Scanner;
public class StudentManagementSystem {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
StudentList studentList = new StudentList();
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 option = scanner.nextInt();
scanner.nextLine(); // 把换行符读掉
switch (option) {
case 1:
System.out.print("请输入学号:");
String id = scanner.nextLine();
System.out.print("请输入姓名:");
String name = scanner.nextLine();
System.out.print("请输入性别:");
String gender = scanner.nextLine();
System.out.print("请输入出生日期:");
String birthdate = scanner.nextLine();
System.out.print("请输入专业:");
String major = scanner.nextLine();
studentList.add(new Student(id, name, gender, birthdate, major));
System.out.println("添加成功!");
break;
case 2:
System.out.print("请输入要修改的学生的学号:");
id = scanner.nextLine();
Student student = studentList.find(id);
if (student == null) {
System.out.println("找不到该学生!");
} else {
System.out.print("请输入新的姓名(原来的姓名为" + student.getName() + "):");
name = scanner.nextLine();
System.out.print("请输入新的性别(原来的性别为" + student.getGender() + "):");
gender = scanner.nextLine();
System.out.print("请输入新的出生日期(原来的出生日期为" + student.getBirthdate() + "):");
birthdate = scanner.nextLine();
System.out.print("请输入新的专业(原来的专业为" + student.getMajor() + "):");
major = scanner.nextLine();
student.setName(name);
student.setGender(gender);
student.setBirthdate(birthdate);
student.setMajor(major);
System.out.println("修改成功!");
}
break;
case 3:
System.out.print("请输入要删除的学生的学号:");
id = scanner.nextLine();
studentList.remove(id);
System.out.println("删除成功!");
break;
case 4:
System.out.print("请输入要查询的学生的学号:");
id = scanner.nextLine();
student = studentList.find(id);
if (student == null) {
System.out.println("找不到该学生!");
} else {
System.out.println(student);
}
break;
case 5:
System.out.println("当前学生总数为:" + studentList.count());
System.out.println("男生总数为:" + studentList.countByGender("男"));
System.out.println("女生总数为:" + studentList.countByGender("女"));
System.out.println("未知性别学生总数为:" + studentList.countByGender(""));
break;
case 0:
System.out.println("谢谢使用!");
return;
default:
System.out.println("输入有误,请重新输入!");
break;
}
}
}
}
```
接下来是学生类Student,这个类包含了学生的个人信息。
```java
public class Student {
private String id; // 学号
private String name; // 姓名
private String gender; // 性别
private String birthdate; // 出生日期
private String major; // 专业
public Student(String id, String name, String gender, String birthdate, String major) {
this.id = id;
this.name = name;
this.gender = gender;
this.birthdate = birthdate;
this.major = major;
}
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 String getBirthdate() {
return birthdate;
}
public void setBirthdate(String birthdate) {
this.birthdate = birthdate;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
@Override
public String toString() {
return "学号:" + id + ",姓名:" + name + ",性别:" + gender + ",出生日期:" + birthdate + ",专业:" + major;
}
}
```
接下来是学生列表类StudentList,这个类包含了对学生信息的增删改查和统计等操作。
```java
import java.util.ArrayList;
import java.util.List;
public class StudentList {
private List<Student> list;
public StudentList() {
list = new ArrayList<>();
}
public void add(Student student) {
list.add(student);
}
public void remove(String id) {
Student student = find(id);
if (student != null) {
list.remove(student);
}
}
public Student find(String id) {
for (Student student : list) {
if (student.getId().equals(id)) {
return student;
}
}
return null;
}
public int count() {
return list.size();
}
public int countByGender(String gender) {
int count = 0;
for (Student student : list) {
if (student.getGender().equals(gender)) {
count++;
}
}
return count;
}
}
```
以上代码实现了学籍管理系统的基本功能,可以根据需要进行扩展和改进。