下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学生管理系统Java7.3实现一个简单的学生管理系统,能支持学生数据(Student)的显示、增加、修改和删除等操作,学生信息包括学号、姓名、性别、专业等。具体要求如下:学生数据按对象序列化写入student.dat文件程序启动后,从student.dat文件读取学生对象存入ArrayList中;增加学生数据时将学生对象Student存入ArrayList,按保存后再写入student.dat;删除学生必须输入学生的学号;修改学生必须输入学号,然后输入姓名、性别和专业进行修改;保存时将当前ArrayList中的所有学生对象写入student.dat;退出前也要将当前ArrayList中的所有学
2、生对象写入student.dat;设计一个操作菜单,包括“增加”、“修改”、“删除”、“显示”、“保存”、“退出”等6个选项。import ;import ;import ;import ;import ;import ;import ;import ;import ;class Student implements Serializable int id; String name; String sex; String zuanYe; public Student() id = 0; name = "wu" sex = "男" zuanYe = &qu
3、ot;English" public Student(int id, String name, String sex, String zuanYe) this.id = id; = name; this.sex = sex; this.zuanYe = zuanYe; public void output() ("学号:" + id); (",姓名:" + name); (",性别:" + sex); (",专业:" + zuanYe); public class StuInfoSys
4、tem List list = new ArrayList(); public void addList() / 将学生信息添加到ArrayList数组中去 int id; String name, sex, zuanYe; Scanner sc = new Scanner(System.in); ("请输入学生信息:"); ("学号:"); id = sc.nextInt(); ("姓名:"); name = sc.next(); ("性别:"); sex = sc.next(); ("专业:"
5、;); zuanYe = sc.next(); Student s = new Student(id, name, sex, zuanYe); /s.Output(); list.add(s); public void addFile() / 将ArrayList数组中的信息保存到文件 try ObjectOutputStream f = new ObjectOutputStream(new FileOutputStream("student.txt"); for (int n = 0; n < list.size(); n+) Student s = (Studen
6、t) list.get(n); /s.output(); f.writeObject(s); f.writeObject(null);/写入null作为文件结束的标记 f.close(); catch (Exception e) (e.getMessage(); public void inputList() / 将文件中的学生信息Student对象保存到ArrayList中 try File file=new File("student.txt"); if(!file.exists() file.createNewFile(); ObjectInputStream f =
7、 new ObjectInputStream(new FileInputStream(file); Student s; while (file.length()>0&&f!= null&&(s=(Student)f.readObject()!=null) /s.output(); /输出学生信息 list.add(s); f.close(); catch (Exception e) (e.getMessage(); public void outStudent(int id) / 输出某个学生的信息 boolean m_boolean = false;
8、for (int i = 0; i < list.size(); i+) Student s = (Student) list.get(i); if (s.id = id) s.output(); m_boolean = true; break; if (!m_boolean) ("没有该同学。"); public void outAllStudent() / 输出所有学生的信息 if(list.size()>0) for (int i = 0; i < list.size(); i+) Student s = (Student) list.get(i);
9、 s.output(); else ("没有任何学生信息!"); void changeStudent(int id) / 修改学生信息 Scanner sc = new Scanner(System.in); String stuInfo="" boolean m_boolean = false; for (int i = 0; i < list.size(); i+) Student s = (Student) list.get(i); if (s.id = id) ("请输入修改的姓名:"); if(!(stuInfo=s
10、c.next().trim().equals("") = stuInfo; ("请输入修改的性别:"); if(!(stuInfo=sc.next().trim().equals("") s.sex = stuInfo; ("请输入修改的专业:"); if(!(stuInfo=sc.next().trim().equals("") s.zuanYe = stuInfo; list.set(i, s); ("修改成功。"); m_boolean = true; b
11、reak; if (!m_boolean) ("没有该同学。"); void moveStudent(int id) / 删除某个学生信息 boolean m_boolean = false; for (int i = 0; i < list.size(); i+) Student s = (Student) list.get(i); if (s.id = id) list.remove(i); ("删除成功。"); m_boolean = true; break; if (!m_boolean) ("没有该同学。"); pub
12、lic static void main(String args) int select, id; boolean flag = true; String name, zuanYe; String sex; Scanner sc = new Scanner(System.in); StuInfoSystem t = new StuInfoSystem(); t.inputList(); ("请选择1-6的菜单"); while (flag) ("1.增加学生 2.修改学生信息 3.删除学生 4.查询学生信息 5.显示所有学生信息 6.保存修改 7.退出系统&quo
13、t;); try select = Integer.parseInt(sc.next(); switch (select) case 1: t.addList(); break; case 2: ("请输入要修改学生的ID:"); id = sc.nextInt(); t.changeStudent(id); break; case 3: ("请输入要删除学生的ID:"); id = sc.nextInt(); t.moveStudent(id); break; case 4: ("请输入要查看学生的ID:"); id = sc.nextInt(); t.outStudent(id); break; case 5: &, nbsp; t.outAllStu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国电科电子科学研究院2026届校园招聘备考题库附答案详解(模拟题)
- 2026中交天和机械设备制造有限公司常熟制造中心招聘4人备考题库及1套完整答案详解
- 无人机行业应用(航测)电子教案 1.10 像控点的布设要求
- 2026年4月广东深圳市龙华区科技创新局招聘专业聘用人员2人备考题库附答案详解(模拟题)
- 2026河北兴冀人才资源开发有限公司招聘护理助理30人备考题库及答案详解(考点梳理)
- 2026广西贵港桂平市社步镇卫生院招聘编外工作人员的1人备考题库有答案详解
- 2026天津市宁河区图书馆就业见习基地招聘1人备考题库及参考答案详解一套
- 2026山东日照银行烟台分行社会招聘备考题库及答案详解(名师系列)
- 2026江苏无锡市太湖流域水文水资源监测中心编外人员招聘备考题库完整参考答案详解
- 2026福建省龙岩中龙科技有限公司招聘5人备考题库及答案详解(易错题)
- 平安中国建设基本知识讲座
- 呆滞物料管理规定
- 2023年安徽省淮南市招聘专职消防员37人笔试参考题库(共500题)答案详解版
- 穿脱防护用品评分标准
- AB-PLC-5000-编程基础指令例说明
- 预算绩效管理-预算绩效目标管理课件
- 氯碱企业涉氯安全风险隐患排查指南(试行)
- 港口与航道工程管理与实务
- 内蒙古自治区级储备粮油轮换管理办法
- 2023年呼和浩特市回民区政务中心综合窗口人员招聘笔试题库及答案解析
- JJG 1083-2013锚固试验机
评论
0/150
提交评论