要求
请使用序列化和反序列化机制,完成学生信息管理系统。
系统打开时显示以下信息:
欢迎使用学生信息管理系统,请认真阅读以下使用说明:
请输入不同的功能编号来选择不同的功能:
[1]查看学生列表
[2]保存学生
[3]删除学生
[4]查看某个学生详细信息
--------------------------------------------------------------------
学生信息列表展示
学号 姓名 性别
------------------------------------
1 zhangsan 男
2 lisi 女
.....
--------------------------------------------------------------------
查看某个学生详细信息
学号:1
姓名:张三
生日:1990-10-10
性别:男
邮箱:zhangsan@123.com
---------------------------------------------------------------------
删除学生时,需要让用户继续输入删除的学生编号,根据编号删除学生。
注意:请使用序列化和反序列化,以保证关闭之后,学生数据不丢失。
学生数据要存储到文件中。
代码
import java.io.*;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class StuInfoMagSys {
//查看学生列表
private void showStu(){
System.out.println("-------------------------------");
System.out.println("学生信息列表展示:");
System.out.println("学号\t姓名\t性别");
Map<String, Student> map = readStuMap();
Set<Map.Entry<String, Student>> set = map.entrySet();
for (Map.Entry<String, Student> me : set){
System.out.println(me.getKey()+ "\t" +me.getValue().getName()+ "\t" + ((me.getValue().isSex() == true) ? "男" : "女"));
}
System.out.println("------------------------------");
}
//保存学生
private void saveStu(){
Scanner scanner = new Scanner(System.in);
Student student = new Student();
System.out.print("请输入学生学号:");
student.setNo(scanner.next());
System.out.print("请输入学生姓名:");
student.setName(scanner.next());
Birthday bir = new Birthday();
System.out.print("请输入学生出生年份:");
bir.setYear(scanner.nextInt());
System.out.print("请输入学生出生月份:");
bir