学生管理系统Java_第1页
学生管理系统Java_第2页
学生管理系统Java_第3页
免费预览已结束,剩余3页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论