学生信息管理系统(运用集合、且存储本地磁盘).doc

上传人:scccc 文档编号:13363390 上传时间:2021-12-23 格式:DOC 页数:11 大小:110KB
返回 下载 相关 举报
学生信息管理系统(运用集合、且存储本地磁盘).doc_第1页
第1页 / 共11页
学生信息管理系统(运用集合、且存储本地磁盘).doc_第2页
第2页 / 共11页
学生信息管理系统(运用集合、且存储本地磁盘).doc_第3页
第3页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《学生信息管理系统(运用集合、且存储本地磁盘).doc》由会员分享,可在线阅读,更多相关《学生信息管理系统(运用集合、且存储本地磁盘).doc(11页珍藏版)》请在三一文库上搜索。

1、学生信息管理系统-基于io流,集合,面向对象知识部分运行图:首比扣乾请命扭学生信4! ! !平耙加史用字王信思着埋轮1、増加一个学生2, 显示所有学生3. 修改学生倍息4. 删除学生信息5、査找学生6. 退出程序(请选S1-6)学号姓名年龄性别1 Z11男2 sd5女 *迎使用学生信息管理系统1,増加一个学生2、显示所有学生灵修改学生信息4、删际学生信息5、査找学生6*退出程序(请选择1-6)完整代码如下,仅供学习参考:import java.i o.I OExcepti on;public class loObjOutputListStuMess static ArrayList<St

2、ude nt> message = new ArrayList<Stude nt>();public static void main(String args) initDate();进入系统时读取之前所存储的数据到缓冲区Scanner in put = new Scann er(System.i n);dis();while(true)String in = in put .n ext();switch(i n)case "1":addStuMess();break;case "2":showStuMess();break;case

3、"3":cha ngStude ntMess(); break;case "4":delStude ntMess(); break;case "5":fin dStuMess(); break;case "6":savaDate();退出程序成功!”);System.exit(O);default :(” 输入错误,请选择 16!"); dis();public static void addStuMess()String flag ="y"do boolea n isI nt=tru

4、e,isYN = true;Scanner in put = new Scann er(System.i n);不影响程序,只Stude nt stu = new Stude nt( null, null, 0, n ull); 随意设定初始值, 为了创建对象,类型对应即可(”请输入学生的学号 ”);Stri ng in = in put .n ext();stu.setNo(i n);for(Stude nt hadStu:message) if(hadStu.getNo().equals(i n)(”已存在该学生,不能重复添加");dis();return;请输入学生的姓名 &q

5、uot;);stu.setName(i nput .n ext();(”请输入学生的年龄 ");/对于年龄为整数的异常处理while(isI nt)Scanner intln put = new Scann er(System.i n);try islnt = false;int in tAge = intln put. next In t();if(i ntAge>150|i ntAge<=0)(” 年龄必须大于 0 小于 150"); islnt = true;con ti nue;stu.setAge(i ntAge); catch (Excepti on

6、 e) islnt = true;(”年龄必须为整数类型,且大于0小于150");(”请输入学生的性别,男性输入boy,其余任意键为女性"); if(in put .n ext().equals("boy")stu.setGe nder("男");elsestu.setGe nder("女");message.add(stu); 调试时使用(” 是否继续输入?y/n");flag = in put .n ext();/对是否继续输入的选择做异常处理while(isYN)if(flag.equals(&qu

7、ot;y")|flag.equals(" n")isYN=false;else(” 请选择 y 或 n”);flag = in put .n ext();if(flag.equals(" n")dis();break; while (flag.equals("y");public static void showStuMess()if(message.size()=0)(”学生信息为空,请先添加学生信息”);else学号 t 姓名 t 年龄 t 性别");for(Stude nt msg:message)dis()

8、;public static void cha ngStude ntMess()if(message.size()=O)(”学生信息库为空,您无法进行该项操作”);dis();return;(”请输入您要修改的学生学号”);Scanner in put = new Scann er(System.i n);String in = in put .n ext();lterator<Student> it = message.iterator(); / 构建迭代器 while(it.hasNext()Stude nt stuMess = it. next();if(stuMess.ge

9、tNo().equals(i n)aa:while(true)boolea n islnt = true;(”请选择你要修改的信息:”);5、学号 2、姓名 3、年龄 4、性别 【保存】");Stri ng type = in put .n ext();/ 修改内容选项switch(type)case "1":boolea n flag =true;(” 学号修改为:");/修改学号时,原则是不能出现相同的学号while(flag)String isHad = in put. next();for(Stude nt hadStu:message)if(h

10、adStu.getNo().equals(isHad)(”已存在该学生,不能重复添加");flag = true;break;elseflag = false;if(flag = false)stuMess.setNo(isHad);学号修改成功.");break;case "2":System.out.println(” 姓名修改为:");stuMess.setName(i nput .n ext();System.out.println("姓名修改成功."); break;case "3":Syste

11、m.out.println("年龄修改为:");/对于年龄为整数的异常处理while(isl nt)Scanner intln put = new Scann er(System.i n);try islnt = false;int in tAge = intln put .n ext In t();if(i ntAge>150|i ntAge<=0)System.out.println(” 年龄必须大于 0 小于 150");islnt = true;con ti nue;stuMess.setAge(i ntAge);System.out.prin

12、tln(” 年龄修改成功."); catch (Excepti on e) islnt = true;System.out.println(”年龄必须为整数类型,且大于0小于 150");break;case "4":System.out.println(”性别修改为:(男性输入boy,其余任意键为女性)");if(in put. next().equals("boy")stuMess.setGender(” 男");elsestuMess.setGender("女");System.out.p

13、rintln("性别修改成功."); break;case "5":System.out.println(”学生信息更新已保存 "); dis();break aa;default :System.out.println(”输入错误,请重新输入!”);return;(”对不起,没有找到该学生信息”);dis();public static void delStude ntMess()if(message.size()=O)(”学生信息库为空,您无法进行该项操作");dis();return;(”请输入您要删除的学生学号”);Scann

14、er in put = new Scann er(System.i n);String in = in put .n ext();lterator<Student> it = message.iterator(); / 构建迭代器 while(it.hasNext()Stude nt stuMess = it. next();if(stuMess.getNo().equals(i n)message.remove(stuMess);(”删除该学生信息成功.");dis();return;(”对不起,没有找到该学生信息");dis();public static

15、void fin dStuMess()if(message.size()=0)(”学生信息库为空,请先添加学生信息”);dis();return;(”请输入您要查找的学生学号”);Scanner in put = new Scann er(System.i n);String in = in put .n ext();lterator<Student> it = message.iterator(); / 构建迭代器while(it.hasNext()Stude nt stuMess = it. next();if(stuMess.getNo().equals(i n)该学生信息如

16、下:");学号t 姓名 t 年龄 t 性别");dis();return;(”删除失败,没有该学生信息.");dis();public static void savaDate()try (ObjectOutputStreamoos = newObjectOutputStream( newFileOutputStream("loObjOutputListStuMess.dat");/file路径可根据实际需要来改)oos.writeObject(message);/对象应用的序列化:直接将 Student对象存入 message集合中 catc

17、h (FileNotF oun dExcepti on e) /e.pri ntStackTrace();dis(); catch (IOExcepti on e) e.pri ntStackTrace();public static void in itDate()try (ObjectI nputStream( newObjectI nputStream ois = newFile In putStream("loObjOutputListStuMess.dat");)try message = (ArrayList<Stude nt>)ois.readOb

18、ject(); catch (ClassNotF oun dExcepti on e) catch (FileNotF oun dExcepti on e) /e.pri ntStackTrace();(” 首次加载,请添加学生信息!! !"); catch (IOExcepti on e) /e.pri ntStackTrace();static void dis()System.out.pri ntln("*欢迎使用学生信息管理系统*");System.out.pri ntl n("|1、 增加一个学生|");System.out.pri

19、ntl n("|2、 显示所有学生|");System.out.pri ntl n("|3、 修改学生信息|");System.out.pri ntl n("|4、 删除学生信息|");System.out.pri ntl n("|5 、查找学生|");System.out.pri ntl n("|6 、退出程序|");System.out.pri ntl n("|(请选择16)|");SysteQ out println("*")class Studen

20、t implements Serializable 实现 Serializable 接口,该类就是可序列化的 private String no,n ame,ge nder;private int age;public Stri ng getNo() return no;public void setNo(Stri ng no) this. no = no;public String getName() return n ame;public void setName(Stri ng n ame) this. name = n ame;public int getAge() return ag

21、e;public void setAge(i nt age) this.age = age;public String getGe nder() retur n gen der;public void setGe nder(Stri ng gender) this.ge nder = gen der;public Student() 无参构造器public Student(String no, String name, int age, String gender) /super();this. no = no;this. name = n ame;this.age = age;this.ge nder = gen der;Overridepublic Stri ng toStri ng() retur n "Stude nt no=" + no + ", n ame=" + n ame + ", gen der=" + gen der + ", age=" + age+ ""

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1