packagestudent;//主界面程序代码importjava.io.*;importjava.util.*;publicclassStudentManager{publicstaticvoidmain(String[]args)throwsException{menu();}publicstaticbooleanmenu()throwsException{Stringinfor=;//infor用来接收输入的内容。while(true){System.out.println(学生信息管理系统其功能如下:);System.out.print(1.添加\t);System.out.print(2.浏览\t);System.out.print(3.更新\t);System.out.print(4.删除\t);System.out.print(5.保存\t);System.out.print(6.退出);System.out.println();Scannerin=newScanner(System.in);intop=0;System.out.println(请输入您要执行的功能的编号(1-6));op=in.nextInt();Functionf=newFunction();switch(op){case1:infor=f.add();break;case2:f.browse();break;case3:infor=f.update();break;case4:infor=(String)f.delete();break;case5:f.save(infor);break;case6:f.finish();//退出菜单界面returnfalse;default:System.out.println(输入的数据错误,请重新输入!);}}}}//功能类代码packagestudent;importjava.io.*;importjava.util.*;publicclassFunction{Stringinfor=;//infor用来接收输入的内容。//退出方法。publicvoidfinish()throwsIOException,Exception{System.out.println(已退出!);}//保存方法。publicvoidsave(Stringsttr)throwsIOException,Exception{FileOutputStreamf1=newFileOutputStream(xin.txt);//对每部操作进行保存ObjectOutputStreamoos=newObjectOutputStream(f1);oos.writeObject(sttr);System.out.println(已保存!);}//实现删除的方法publicObjectdelete()throwsIOException,Exception{System.out.println(原来的内容:);infor=information();System.out.println(infor);//S用来接收删除后的内容Strings=;Scannersc=newScanner(System.in);while(true){System.out.println(1.删除单个学生信息\t2.删除指定学生到该生以后的全部信息\t3.删除指定两个学生(包括指定的第一个)之间的全部信息\t4.退出该操作);System.out.println(请输入要操作的序号:);intk3=sc.nextInt();//根据序号选择操作。if(k3==1){TreeMaptm=newTreeMap();System.out.print(请输入要删除的学生学号:);Stringr=学号:+sc.next();String[]strarray=infor.split(\n);for(inti=0;istrarray.length;i++){String[]strarray1=strarray[i].split();if(strarray1[0].equalsIgnoreCase(r)){strarray1[1]=strarray1[1].replace(strarray1[1],);strarray1[0]=strarray1[0].replace(strarray1[0],);}tm.put(strarray1[0],strarray1[1]);}SetkeySet=tm.keySet();Iteratort=keySet.iterator();while(t.hasNext()){Objectkey=t.next();Objectvalue=tm.get(key);s+=key++value+\n;}System.out.println(删除后的内容:);System.out.println(s);break;}elseif(k3==2){System.out.print(请输入列表第一个学生的学号:);Stringid1=sc.next();inta=infor.indexOf(学号:+id1);//确定要删除的内容在文本的开始位置StringBuffersb=newStringBuffer(infor);sb.delete(a,infor.length());//删除文本的从开始位置到最后的并且包含最后一个内容s=sb.toString();System.out.println(删除后的内容:);System.out.println(s);break;}elseif(k3==3){System.out.print(请输入要删除的第一个学生的学号:);Stringid1=sc.next();inta=infor.indexOf(学号:+id1);//确定要删除的内容在文本的开始位置System.out.print(请输入要删除的最后一个学生的下一个学号:);Stringid2=sc.next();intb=infor.indexOf(学号:+id2);StringBuffersb=newStringBuffer(infor);sb.delete(a,b);//删除文本的从开始位置到最后的一个内容的开始位置s=sb.toString();System.out.println(删除后的内容:);System.out.println(s);break;}elseif(k3==4){break;}else{System.out.println(输入错误!请重新输入!);}}returns;}//实现更新的方法publicStringupdate()throwsIOException,Exception{Studentstu=newStudent();Stringstr=information();//str接收读出来的“xin.txt”的内容。System.out.println(原来的内容:);System.out.println(str);Scannersc=newScanner(System.in);while(true){System.out.println(根据以下提示输入相关数字选择要操作的内容:);System.out.println(1.增加学生信息\t2.更改学生信息\t3.退出该操作);intk1=sc.nextInt();if(k1==1){System.out.println(请输入要增加的学生个数:);intk2=sc.nextInt();//要增加的学生个数TreeMaptm=newTreeMap();System.out.println(请输入要增加的学生信息:);for(intj=1;j=k2;j++){//循环增加多个学生信息。String[]strarray=str.split(\n);for(inti=0;istrarray.length;i++){String[]strarray1=strarray[i].split();tm.put(strarray1[0],strarray1[1]);}tm.put(stu.id(),stu.ps());}SetkeySet=tm.keySet();Iteratort=keySet.iterator();while(t.hasNext()){Objectkey=t.next();Objectvalue=tm.get(key);infor+=key++value+\n;}System.out.println(增加后的信息:\n+infor);}elseif(k1==2){Stringstr1=学号:;TreeMaptm=newTreeMap();System.out.println(请输入要修改的学生学号:);str1+=sc.next();System.out.print(请输入要被更改的内容:);Stringc=sc.next();System.out.print(请输入新的内容:);Stringr=sc.next();String[]strarray=str.split(\n);for(inti=0;istrarray.length;i++){String[]strarray1=strarray[i].split();if(strarray1[0].equalsIgnoreCase(str1)){strarray1[1]=strarray1[1].replace(c,r);}tm.put(strarray1[0],strarray1[1]);}SetkeySet=tm.keySet();Iteratort=keySet.iterator();while(t.hasNext()){Objectkey=t.next();Objectvalue=tm.get(key);infor+=key++value+\n;}System.out.println(修改后的信息:\n+infor);}elseif(k1==3){break;}else{System.out.println(输入错误,请重新输入!);}break;}returninfor;}//实现浏览的方法publicvoidbrowse()throwsIOException,Exception{Scannersc=newScanner(System.in);Stringstr=;while(true){System.out.println(1.浏览全部学生信息\t2.查看指定学生信息\t3.退出该操作);System.out.println(请输入操作序号:);intk=sc.nextInt();if(k==1){System.out.println(information());}elseif(k==2){while(true){System.out.println(1.继续查看指定学生信息!\t2.退出该操作!);intk1=sc.nextInt();if(k1==1){Stringstr1=学号:;TreeMaptm=newTreeMap();//创建TreeMap对象。String[]strarray=information().split(\n);//定义一个字符串类型的数组。并将数组按键和值继续划分更新的数组。for(inti=0;istrarray.length;i++){String[]strarray1=strarray[i].split();//将划分好的数组分别按键、、值放入tm.put()里面。tm.put(strarray1[0],strarray1[1]);}SetkeySet=tm.keySet();Iteratort=keySet.iterator();System.out.println(请输入要查看的学生学号:);while(t.hasNext()){//将tm的元素遍历有