简单学生信息管理系统
- 格式:doc
- 大小:33.00 KB
- 文档页数:9
——综合性程序设计
题目:简单学生信息管理系统(序列化版)班级:
姓名:
学号:
实验目的:
1.综合运用输入、输出的知识,用序列化方法保存、读入数组内容。
2.设计实现一个简单的信息管理系统。
实验内容:
编写能够满足如下条件的程序,分两次四个课时完成
1.声明Student类,该类实现Serializable接口以表明该类
可以进行序列化。该类有姓名、学号、math、os、java用
来存放对应的成绩,在构造方法中进行姓名、学号、课程
成绩的赋值。Override有Object继承来的tostring方法
已便友好格式显示自己的属性;
2.建立一个类,利用数组来存储多个Student,写完一个方
法,在main中写一段测试代码,运行以保证目前所做工
作的正确性,正确后再写其他代码。有以下方法:
1)add(Student stu):增加新的学生,人数满时显示人满或是new一个更长的数组,把现有的Student复制到
新数组
2)dispAll():可以显示所有的学生信息(测试add是否正确)
3)findById(long id):可以按照学号来查找,然后显示符合条件的学生信息,查无此人的话显示错误信息。
4)findByName(string name):可以按照姓名来查找,然后显示符合条件的学生信息,查无此人的话显示错误
信息。(判断姓名是否相等使用string类的
equalsIgnoreCase方法)
5)delBy Id(long id): 可以按照id来删除学生信息,然后显示找到该人,若查无此人的话显示错误信息。
6)save():利用ObjectOutputStream 来把数组写入文件中,需要考虑在什么时候调用该方法。
7)load():利用ObjectIntputStream 来进行反序列化,得到以前保存的内容,注意要考虑以前未保存内容
的情况,可返回错误信息。
3.在控制台显示一个菜单,并实现相应的功能。菜单如下: 1显示所有学生信息 2按学号查找 3 按姓名查找
4 按学号删除
5 保存
6 读入
7 退出
请输入数字(1-7):
程序代码
Import .*;
Import .*;
class Stu implements Serilizable{
private String name;
private long id;
private double os,java,math;
}
public Student()
{
}
public Student(int id, int age, int score, String name) {
= id;
= os;
= java;
= name;
=math;
}
public long getId()
{
return id;
}
public void setId(long id)
{
= id;
}
public int getOs()
{
return os;
}
public void setOs(int os)
{
= os;
}
public int getJava()
{
return java;
}
public void setJava(int java)
{
= java;
}
public int getMath()
{
return Math;
}
public void setMath(int math)
{
= math;
}
public String getName()
{
return name;
}
public void setName(String name)
{
= name;
}
@Override
public String toString()
{
return "学号:" + id + " 姓名:" + name + " os:" + os+ " math:" + math + "java" + java;
}
}
o==no)
{
}
if(stus[i].no!=no&&i==
{
"无该生信息!");
}
}
}
public void findByName(Student[] stus)
{
String name="";
"请输入姓名:");
name=();
for(int i=0;i<;i++)
{
if(stus[i].name)==true)
{
if(stus[i].name)==false&&i==
{
"无该生信息!");
}
}
}
public void delById(Student[] stus)throws Exception {
int no=0,i=0;
"请输入学号:");
no=();
for(i=0;i<;i++)
{
if(stus[i].no==no)
{
stus[i]=null;save(stus);
"删除成功!");
break;
}
if(stus[i].no!=no&&i==