JAVA编写的学籍管理系统关于通过arraylist写入读取文件时的错误,

问题描述

importjava.util.ArrayList;importjava.util.Iterator;importjava.util.Scanner;importjava.io.*;publicclassa5438{publicstaticvoidmain(String[]args)throwsException{while(true){newLogin().log0(args);}}}classLogin{Scannersc=newScanner(System.in);staticArrayList<user>list=newArrayList<user>();staticuseru;publicvoidlog0(String[]args)throwsException{try{FileOutputStreamfo=newFileOutputStream("user.data");ObjectOutputStreamuo=newObjectOutputStream(fo);System.out.println("WelcometoStudnetManagementSystem");System.out.println("=================================================================");System.out.println("现提供一个管理员账号,两个教师管理员账号,两个学生账号进行程序初始运行测试");System.out.println("管理员如需添加教师账号信息或学生账号信息,请登陆到程序管理员界面进行增删查改");System.out.println("=================================================================");useru=newTeacher("admin","123",1);uo.writeObject(u);u=newTeacher("teacher1","333",2);uo.writeObject(u);u=newTeacher("teacher2","369",2);uo.writeObject(u);u=newTeacher("student1","334",3);uo.writeObject(u);u=newTeacher("student2","533",3);uo.writeObject(u);uo.close();fo.close();}catch(IOExceptione){e.printStackTrace();}u=null;try{FileInputStreamfi=newFileInputStream("user.data");ObjectInputStreamsi=newObjectInputStream(fi);while(true){u=(user)si.readObject();System.out.println(u.getNo()+""+u.getPwd());list.add(u);}}catch(EOFExceptione){}Logint=newLogin();t.login();}voidlogin(){System.out.println();System.out.print("请输入卡号:");Stringno=sc.next();System.out.print("请输入密码:");Stringpwd=sc.next();Iterator<user>it=list.iterator();while(it.hasNext()){usertep=it.next();System.out.println(tep.getNo()+""+tep.getPwd());System.out.println();if(tep.getNo().equals(no)&&tep.getPwd().equals(pwd)){inttype=tep.getType();switch(type){case1:newManagement().input1();break;case2:newTeacher().input2();break;case3:break;default:System.exit(type);}u.menu();System.exit(0);}}System.out.println("账号或者密码错误!");}}abstractclassuserimplementsSerializable{privateStringno;privateStringpwd;privateinttype;privateStringtype2;privateStringname;abstractvoidmenu();publicuser(){}publicuser(Stringno,Stringpwd,inttype){this.no=no;this.pwd=pwd;this.type=type;}publicuser(Stringno,Stringpwd,inttype,Stringtype2,Stringname){this.no=no;this.pwd=pwd;this.type=type;this.type2=type2;this.name=name;}publicStringgetName(){returnname;}publicvoidsetName(){this.name=name;}publicStringgetNo(){returnno;}publicvoidsetNo(Stringno){this.no=no;}publicStringgetPwd(){returnpwd;}publicvoidsetPwd(Stringpwd){this.pwd=pwd;}publicintgetType(){returntype;}publicvoidsetType(inttype){this.type=type;}publicStringgetType2(){returntype2;}publicvoidsetType2(Stringtype2){this.type2=type2;}}classTeacherextendsuser{publicTeacher(){super();}publicTeacher(Stringno,Stringpwd,inttype){super(no,pwd,type);}publicTeacher(Stringno,Stringpwd,inttype,Stringtype2,Stringname){super(no,pwd,type,type2,name);}voidmenu(){demo();System.out.println("teacher:");}voiddemo(){System.out.println("teachermethod");}voidinput2(){while(true){Scannerin1=newScanner(System.in);System.out.println("欢迎来到教师添加成绩界面");System.out.println("====================");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("6.返回上一层");System.out.println("7.退出");intsel2=in1.nextInt();switch(sel2){case1://Add_Temp_Mark();break;case2:break;case3:break;case4:break;case5:break;case7:System.exit(sel2);case6:newLogin().login();default:System.out.println("输入有误,请重新输入");}}}}classManagementextendsuser{staticArrayList<user>list=newArrayList<user>();Scannerin1=newScanner(System.in);staticuseru;voidinput1(){while(true){System.out.println("管理员管理界面");System.out.println("============");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("============");intsel=in1.nextInt();switch(sel){case1:input1_1();break;case2:input1_2();break;case3:input1_3();break;case4:System.exit(sel);break;case5:newLogin().login();break;default:System.out.println("输入有误,请确认后重新输入");}}}voidinput1_1(){System.out.println("1.添加学生信息");System.out.println("2.删除学生信息");System.out.println("3.修改学生信息");System.out.println("4.查询学生信息");System.out.println("5.返回上一层");intsel=in1.nextInt();switch(sel){case1:break;case2:break;case3:break;case4:break;case5:break;default:System.out.println("输入有误,请重新输入");}}voidinput1_2(){System.out.println("1.添加老师信息");System.out.println("2.删除老师信息");System.out.println("3.修改老师信息");System.out.println("4.查询老师信息");System.out.println("5.返回上一层");intsel=in1.nextInt();switch(sel){case1:try{add_tea_mes();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}break;case2:break;case3:break;case4:break;case5:break;default:System.out.println("输入有误,请重新输入");}}voidinput1_3(){System.out.println("1.添加课程信息");System.out.println("2.修改课程信息");System.out.println("3.删除课程信息");System.out.println("4.返回上一层");intsel=in1.nextInt();switch(sel){case1:break;case2:break;case3:break;case4:break;case5:break;default:System.out.println("输入有误,请重新输入");}}voidadd_stu_mes(){}voidadd_tea_mes()throwsIOException{FileOutputStreamfo=newFileOutputStream("user.data",true);ObjectOutputStreamuo=newObjectOutputStream(fo);System.out.println();System.out.println("姓名:");Stringname=in1.next();System.out.println("帐号:");Stringid=in1.next();System.out.println("密码:");Stringpwd=in1.next();System.out.println("类型:");inttype=in1.nextInt();System.out.println("任课:");Stringtype2=in1.next();u=newTeacher(id,pwd,type,type2,name);FileInputStreamfi=newFileInputStream("user.data");ObjectInputStreamsi=newObjectInputStream(fi);while(true){try{u=(user)si.readObject();}catch(ClassNotFoundExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}System.out.println(u.getNo()+""+u.getPwd());list.add(u);}}@Overridevoidmenu(){//TODOAuto-generatedmethodstub}}classStudentextendsuser{BufferedReaderin=newBufferedReader(newInputStreamReader(System.in));Scannerin3=newScanner(System.in);@Overridevoidmenu(){//TODOAuto-generatedmethodstub}}classCourse{}

解决方案

解决方案二:
这是错误代码:管理员管理界面============请选择:1.管理学生信息2.管理老师信息3.管理课程信息4.退出5.返回上一层============java.io.StreamCorruptedExceptionatjava.io.ObjectInputStream.readObject0(UnknownSource)atjava.io.ObjectInputStream.readObject(UnknownSource)atManagement.add_tea_mes(a5438.java:342)atManagement.input1_2(a5438.java:277)atManagement.input1(a5438.java:226)atLogin.login(a5438.java:76)atLogin.log0(a5438.java:56)ata5438.main(a5438.java:10)31.添加课程信息2.修改课程信息3.删除课程信息4.返回上一层

时间: 2024-11-17 19:42:39

JAVA编写的学籍管理系统关于通过arraylist写入读取文件时的错误,的相关文章

Java编写一个图书管理系统,要使用JDVC技术访问,带有SQL数据库,请问怎么写

问题描述 Java编写一个图书管理系统,要使用JDVC技术访问,带有SQL数据库,请问怎么写 Java编写一个图书管理系统,要使用JDVC技术访问,带有SQL数据库,请问怎么写 解决方案 http://download.csdn.net/detail/u014029255/8284261 解决方案二: 1.写界面 2.写数据库连接 3.写数据库的增删改查 4.处理细节

数据库-求大神帮忙写一个基于java的学生学籍管理系统

问题描述 求大神帮忙写一个基于java的学生学籍管理系统 具体功能有:1)设计入学.管理及查询界面 2)设计学生各学期.学年成绩输入及查询界 面,并打印各项报表 3)根据各年度总成绩,查询.输出学生学籍管理方案(优秀,合格,试读,退学) 4)毕业管理 5)系统维护,如数据安全管理(含系统备份 与恢复),操作员管理,权限设置 解决方案 这个说起来简单,但是要做的话还是要一点时间的,这应该是一个毕业设计的课题呀 解决方案二: 你确定你不花钱或者撒个娇有人会花时间帮你做这个 解决方案三: 需要定制么?

java编写的学生管理系统,系统很小,但是访问数据库很慢,程序很卡,是什么原因啊

问题描述 java编写的学生管理系统,系统很小,但是访问数据库很慢,程序很卡,是什么原因啊 程序可以运行,就是总崩溃,还应很慢java编写的学生管理系统,系统很小,但是访问数据库很慢,程序很卡,是什么原因啊 解决方案 1.配置问题? 2.代码里面持有的数据库连接没有及时关闭? 3.代码其他逻辑问题.自己检查一下吧 解决方案二: 使用的什么数据库呢?如果是mysql,上万的数据就会慢,需要建立索引.程序本身卡的可能性不大 解决方案三: 调试一下是否有异常处理! 解决方案四: 楼主在每个你觉得消耗时

在java web开发中,怎样获取上传视频文件时长?

问题描述 Struts2+Spring+Hibernate项目怎样来获得上传视频文件的时长?数据库的字段应该设置成time类型的还是timestamp类型?

java源码-图书管理系统及其全面的功能

问题描述 图书管理系统及其全面的功能 java编写的图书管理系统 谢谢 java编写的图书管理系统 谢谢 java编写的图书管理系统 谢谢 解决方案 http://download.csdn.net/detail/songatie/3350887 如果没有积分,采纳了可以帮你下载. 解决方案二: 图书管理系统功能图书管理系统功能设计图书管理系统

java读取文件和写入文件的方式(简单实例)_java

Java代码 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件. */ public static void readFileByBytes(String fileName) { File file = new File(fileName); InputStream in = null; try { System.out.println("以字节为单位读取文件内容,一次读一个字节:"); // 一次读

java实现在复制文件时使用进度条(java实现进度条)_java

思路分析: 因为既要有操作面板又要有进度条,所以肯定要出现两个继承JFrame类的窗体.先看被调用的进度条窗体,它不需要手动操作,所以类的内部实现一个方法就可以了.因为设计文件操作,所以要捕获异常.首先根据要复制的文件创建File对象,以及根据复制后文件的保存地址创建File对象,然后创建FileOutputStream对象,再创建FileInputStream对象,之后是ProgressMonitorInputStream对象,然后读取文件,如果总耗时超过2秒,将会自动弹出一个进度监视窗口.接

java代码-怎么用JAVA编写图书管理系统

问题描述 怎么用JAVA编写图书管理系统 我需要一套完整的图书管理系统,自己弄的老出错....有没有大神帮忙啊

java语言编写的教务管理系统的研究

问题描述 java语言编写的教务管理系统的研究 请问java语言编写的教务管理系统怎么实现爆库和拿库,一般这种系统下有什么可以利用的0day和webshell? 解决方案 你首先应该好好学习,然后才谈得上"研究".投机取巧能研究出什么?胡乱看了几本地摊上的黑客画报也想搞破坏? 解决方案二: 现在学这个的也是鱼龙混杂啊