


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、7.3 实现一个简单的学生管理系统,能支持学生数据(Student) 的显示、增加、修改和删除等操作 ,学生信息包括学号、姓名、性别、专业等。具体要求如下:学生数据按对象序列化写入student.dat 文件程序启动后,从 student.dat 文件读取学生对象存入ArrayList 中;增加学生数据时将学生对象Student 存入 ArrayList,按保存后再写入student.dat ;删除学生必须输入学生的学号;修改学生必须输入学号,然后输入姓名、性别和专业进行修改;保存时将当前 ArrayList 中的所有学生对象写入student.dat ;退出前也要将当前ArrayList 中
2、的所有学生对象写入student.dat ;设计一个操作菜单,包括“增加”、“修改”、“删除”、“显示”、“保存”、“退出” 等 6 个选项。import java.io.;import java.io.;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable;import java.io.File;import java.util.ArrayList;import java.util.List;import java.util.Scanner;class St
3、udent implements Serializable int id;String name;String sex;String zuanYe;public Student() id = 0;name = "wu"sex = "男"zuanYe = "English"public Student(int id, String name, String sex, String zuanYe) this.id = id; = name;this.sex = sex;this.zuanYe = zuanYe;publi
4、c void output() System.out.print(" 学号: " + id);System.out.print(", 姓名: " + name);System.out.print(", 性别: " + sex);System.out.println(", 专业: " + zuanYe);public class StuInfoSystem List list = new ArrayList();public void addList() / 将学生信息添加到 ArrayList 数组中去 int i
5、d;String name, sex, zuanYe;Scanner sc = new Scanner(System.in);System.out.println(" 请输入学生信息:");System.out.println(" 学号: ");id = sc.nextInt();System.out.println(" 姓名: ");name = sc.next();System.out.println(" 性别: ");sex = sc.next();System.out.println(" 专业:
6、");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 ("student.txt"); for (int n = 0; n < list.size(); n+) Student s = (Student) list.get(n)
7、;/s.output();f.writeObject(s);f.writeObject(null);/写入 null 作为文件结束的标记f.close(); catch (Exception e) System.err.println(e.getMessage();public void inputList() /将文件中的学生信息Student 对象保存到ArrayList 中try File("student.txt");if(!()();ObjectInputStream f = new ObjectInputStream(new (file);Student s;w
8、hile ()>0&&f!= null&&(s=(Student)f.readObject()!=null) /s.output(); /输出学生信息list.add(s);f.close(); catch (Exception e) System.err.println(e.getMessage();public void outStudent(int id) /输出某个学生的信息boolean m_boolean = false;for (int i = 0; i < list.size(); i+) Student s = (Student)
9、list.get(i);if (s.id = id) s.output();m_boolean = true;break;if (!m_boolean) System.out.println(" 没有该同学。");public void outAllStudent() /输出所有学生的信息if(list.size()>0)for (int i = 0; i < list.size(); i+) Student s = (Student) list.get(i);s.output();elseSystem.out.println(" 没有任何学生信息!&
10、quot;);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) System.out.println(" 请输入修改的姓名:");if(!(stuInfo=sc.next().trim().equals(&
11、quot;") = stuInfo;System.out.println(" 请输入修改的性别:");if(!(stuInfo=sc.next().trim().equals("")s.sex = stuInfo;System.out.println(" 请输入修改的专业:");if(!(stuInfo=sc.next().trim().equals("")s.zuanYe = stuInfo;list.set(i, s);System.out.println(" 修改成功。 &qu
12、ot;);m_boolean = true;break;if (!m_boolean) System.out.println(" 没有该同学。");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);System.out.println(" 删除成功。 ");m_boolean =
13、true;break;if (!m_boolean) System.out.println(" 没有该同学。");public 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();System.out.println(" 请选择 1-6 的菜单 &quo
14、t;);while (flag) System.out.println("1. 增加学生2.修改学生信息3.删除学生4.查询学生信息5.显示所有学生信息6.保存修改7.退出系统 ");tryselect = Integer.parseInt(sc.next();switch (select) case 1:t.addList();break;case 2:System.out.println(" 请输入要修改学生的ID:");id = sc.nextInt();t.changeStudent(id);break;case 3:System.out.println(" 请输入要删除学生的ID:");id = sc.nextInt();t.moveStudent(id);break;case 4:System.out.println(" 请输入要查看学生的ID:");id = sc.nextInt();t.outStudent(id);break;case 5:&, nbsp;t.outAllStudent();break;case 6:t.addFile();System
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CEMIA 015-2018光纤预制棒用四氯化硅容器清洗技术规范
- T/CECS 10121-2021球墨铸铁聚乙烯复合管
- T/CECS 10085-2020水泥基透水混凝土用胶接剂
- T/CCS 049-2023绿色煤炭资源评价技术规范
- T/CCMA 0062-2018流动式起重机用力矩限制器
- T/CCAS 031-2023水泥工厂生料配料在线分析技术应用指南
- T/CBMCA 022-2021陶瓷岩板加工规范
- T/CBMCA 015-2020陶瓷岩板产品规范
- 2024年度江苏省二级造价工程师之土建建设工程计量与计价实务模拟试题(含答案)
- 租客网java面试题及答案
- DB12T 1339-2024 城镇社区公共服务设施规划设计指南
- 2024年秋新北师大版七年级上册数学教学课件 第五章 一元一次方程 第1节 认识方程
- 吉利工厂过程质量对标标准手册V4
- 2023-2024学年浙江省宁波市江北区七年级(下)期末数学试卷(含答案)
- 初中英语语法、词汇及固定搭配训练100题-含答案
- 网课智慧树知道《人工智能引论(浙江大学)》章节测试答案
- 中考物理压强与浮力压轴题20道(解析版)
- 2024年江苏省镇江市丹阳市中考物理二模卷
- 标准吞咽功能评定量表
- MOOC 中国传统艺术-篆刻、书法、水墨画体验与欣赏-哈尔滨工业大学 中国大学慕课答案
- 风险和机遇识别、评价及控制措施表
评论
0/150
提交评论