您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 学生信息管理系统(运用集合且存储本地磁盘)
学生信息管理系统--基于io流,集合,面向对象知识部分运行图:完整代码如下,仅供学习参考:packagecom.gaobo.day13,homework;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.FileWriter;importjava.io.IOException;importjava.io.ObjectInputStream;importjava.io.ObjectOutputStream;importjava.io.Serializable;importjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;importjava.util.Scanner;publicclassIoObjOutputListStuMess{staticArrayListStudentmessage=newArrayListStudent();publicstaticvoidmain(String[]args){initDate();//进入系统时读取之前所存储的数据到缓冲区Scannerinput=newScanner(System.in);dis();while(true){Stringin=input.next();switch(in){case1:addStuMess();break;case2:showStuMess();break;case3:changStudentMess();break;case4:delStudentMess();break;case5:findStuMess();break;case6:savaDate();System.out.println(退出程序成功!);System.exit(0);default:System.out.println(输入错误,请选择1~6!);dis();}}}publicstaticvoidaddStuMess(){Stringflag=y;do{booleanisInt=true,isYN=true;Scannerinput=newScanner(System.in);Studentstu=newStudent(null,null,0,null);//随意设定初始值,不影响程序,只为了创建对象,类型对应即可System.out.println(请输入学生的学号);Stringin=input.next();stu.setNo(in);for(StudenthadStu:message){if(hadStu.getNo().equals(in)){System.out.println(已存在该学生,不能重复添加);dis();return;}}System.out.println(请输入学生的姓名);stu.setName(input.next());System.out.println(请输入学生的年龄);//对于年龄为整数的异常处理while(isInt){ScannerintInput=newScanner(System.in);try{isInt=false;intintAge=intInput.nextInt();if(intAge150||intAge=0){System.out.println(年龄必须大于0小于150);isInt=true;continue;}stu.setAge(intAge);}catch(Exceptione){isInt=true;System.out.println(年龄必须为整数类型,且大于0小于150);}}System.out.println(请输入学生的性别,男性输入boy,其余任意键为女性);if(input.next().equals(boy)){stu.setGender(男);}else{stu.setGender(女);}message.add(stu);//System.out.println(message.size()+message.size());//调试时使用System.out.println(是否继续输入?y/n);flag=input.next();//对是否继续输入的选择做异常处理while(isYN){if(flag.equals(y)||flag.equals(n)){isYN=false;}else{System.out.println(请选择y或n);flag=input.next();}}if(flag.equals(n)){dis();break;}}while(flag.equals(y));}publicstaticvoidshowStuMess(){if(message.size()==0){System.out.println(学生信息为空,请先添加学生信息);}else{System.out.println(学号\t姓名\t年龄\t性别);for(Studentmsg:message){System.out.println(msg.getNo()+\t+msg.getName()+\t+msg.getAge()+\t+msg.getGender());}}dis();}publicstaticvoidchangStudentMess(){if(message.size()==0){System.out.println(学生信息库为空,您无法进行该项操作);dis();return;}System.out.println(请输入您要修改的学生学号);Scannerinput=newScanner(System.in);Stringin=input.next();IteratorStudentit=message.iterator();//构建迭代器while(it.hasNext()){StudentstuMess=it.next();if(stuMess.getNo().equals(in)){aa:while(true){booleanisInt=true;System.out.println(请选择你要修改的信息:);System.out.println(1、学号2、姓名3、年龄4、性别5、【保存】);Stringtype=input.next();//修改内容选项switch(type){case1:booleanflag=true;System.out.println(学号修改为:);//修改学号时,原则是不能出现相同的学号while(flag){StringisHad=input.next();for(StudenthadStu:message){if(hadStu.getNo().equals(isHad)){System.out.println(已存在该学生,不能重复添加);flag=true;break;}else{flag=false;}}if(flag==false){stuMess.setNo(isHad);System.out.println(学号修改成功...);}}break;case2:System.out.println(姓名修改为:);stuMess.setName(input.next());System.out.println(姓名修改成功...);break;case3:System.out.println(年龄修改为:);//对于年龄为整数的异常处理while(isInt){ScannerintInput=newScanner(System.in);try{isInt=false;intintAge=intInput.nextInt();if(intAge150||intAge=0){System.out.println(年龄必须大于0小于150);isInt=true;continue;}stuMess.setAge(intAge);System.out.println(年龄修改成功...);}catch(Exceptione){isInt=true;System.out.println(年龄必须为整数类型,且大于0小于150);}}break;case4:System.out.println(性别修改为:(男性输入boy,其余任意键为女性));if(input.next().equals(boy)){stuMess.setGender(男);}else{stuMess.setGender(女);}System.out.println(性别修改成功...);break;case5:System.out.println(学生信息更新已保存);dis();breakaa;default:System.out.println(输入错误,请重新输入!);}}return;}}System.out.println(对不起,没有找到该学生信息);dis();}publicstaticvoiddelStudentMess(){if(message.size()==0){System.out.println(学生信息库为空,您无法进行该项操作);dis();return;}System.out.println(请输入您要删除的学生学号);Scannerinput=newScanner(System.in);Stringin=input.next();IteratorStudentit=message.iterator();//构建迭代器while(it.hasNext()){StudentstuMess=it.next();if(stuMess.getNo().equals(in)){message.remove(stuMess);System.out.println(删除该学生信息成功...);dis();return;}}System.out.println(对不起,没有找到该学生信息);dis();}publicstaticvoidfindStuMess(){if(message.size()==0){System.out.println(学生信息库为空,请先添加学生信息);dis();return;}System.out.println(请输入您要查找的学生学号);Scannerinput=newScanner(System.in);Stringin=input.next();IteratorStudentit=message.iterator();//构建迭代器while(it.hasNext()){StudentstuMess=it.next();if(stuMess.getNo().equals(in)){System.out.println(该学生信息如下:);System.out.println(学号\t姓名\t年龄\t性别);System.out.println(stuMess.getNo()+\t+stuMess.getName()+\t+stuMess.getAge()+\t+stuMess.getGender());dis();return;}}System.out.println(删除失败,没有该学生信息...);dis();}publicstaticvoidsavaDate(){try(ObjectOutputStreamoos=newObjectOutputStream(newFileOutputStream(IoObjOutputListStuMess.dat));//file路径可根据实际需要来改){oos.writeObject(message);//对象应用的序列化:
本文标题:学生信息管理系统(运用集合且存储本地磁盘)
链接地址:https://www.777doc.com/doc-2489510 .html