学生信息管理系统运用集合且存储本地磁盘Word下载.docx
《学生信息管理系统运用集合且存储本地磁盘Word下载.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统运用集合且存储本地磁盘Word下载.docx(13页珍藏版)》请在冰豆网上搜索。
dis();
while(true){
Stringin=input.next();
switch(in){
case"
1"
:
addStuMess();
break;
2"
showStuMess();
break;
3"
changStudentMess();
4"
delStudentMess();
5"
findStuMess();
6"
savaDate();
System.out.println("
退出程序成功!
"
);
System.exit(0);
default:
输入错误,请选择1~6!
dis();
}
}
}
publicstaticvoidaddStuMess(){
Stringflag="
y"
;
do{
booleanisInt=true,isYN=true;
Scannerinput=newScanner(System.in);
Studentstu=newStudent(null,null,0,null);
//随意设定初始值,不影响程序,只为了创建对象,类型对应即可
System.out.println("
请输入学生的学号"
stu.setNo(in);
for(StudenthadStu:
message){
if(hadStu.getNo().equals(in)){
System.out.println("
已存在该学生,不能重复添加"
dis();
return;
}
请输入学生的"
stu.setName(input.next());
请输入学生的年龄"
//对于年龄为整数的异常处理
while(isInt){
ScannerintInput=newScanner(System.in);
try{
isInt=false;
intintAge=intInput.nextInt();
if(intAge>
150||intAge<
=0){
年龄必须大于0小于150"
isInt=true;
continue;
stu.setAge(intAge);
}catch(Exceptione){
isInt=true;
年龄必须为整数类型,且大于0小于150"
请输入学生的性别,男性输入boy,其余任意键为女性"
if(input.next().equals("
boy"
)){
stu.setGender("
男"
}else{
女"
message.add(stu);
//System.out.println("
message.size()"
+message.size());
//调试时使用
是否继续输入?
y/n"
flag=input.next();
//对是否继续输入的选择做异常处理
while(isYN){
if(flag.equals("
)||flag.equals("
n"
isYN=false;
else{
请选择y或n"
flag=input.next();
if(flag.equals("
dis();
break;
}while(flag.equals("
));
publicstaticvoidshowStuMess(){
if(message.size()==0){
学生信息为空,请先添加学生信息"
}else{
学号\t\t年龄\t性别"
for(Studentmsg:
System.out.println(msg.getNo()+"
\t"
+msg.getName()+"
+msg.getAge()+"
+msg.getGender());
publicstaticvoidchangStudentMess(){
学生信息库为空,您无法进行该项操作"
dis();
return;
System.out.println("
请输入您要修改的"
Stringin=input.next();
Iterator<
it=message.iterator();
//构建迭代器
while(it.hasNext()){
StudentstuMess=it.next();
if(stuMess.getNo().equals(in)){
aa:
while(true){
booleanisInt=true;
请选择你要修改的信息:
1、学号2、3、年龄4、性别5、【保存】"
Stringtype=input.next();
//修改容选项
switch(type){
case"
booleanflag=true;
学号修改为:
//修改学号时,原则是不能出现相同的学号
while(flag){
StringisHad=input.next();
for(StudenthadStu:
if(hadStu.getNo().equals(isHad)){
System.out.println("
flag=true;
break;
}else{
flag=false;
}
}
if(flag==false){
stuMess.setNo(isHad);
System.out.println("
学号修改成功..."
}
}
break;
System.out.println("
修改为:
stuMess.setName(input.next());
修改成功..."
年龄修改为:
//对于年龄为整数的异常处理
while(isInt){
ScannerintInput=newScanner(System.in);
try{
isInt=false;
intintAge=intInput.nextInt();
if(intAge>
isInt=true;
continue;
stuMess.setAge(intAge);
System.out.println("
年龄修改成功..."
}catch(Exceptione){
isInt=true;
性别修改为:
(男性输入boy,其余任意键为女性)"
if(input.next().equals("
stuMess.setGender("
}else{
性别修改成功..."
学生信息更新已保存"
dis();
breakaa;
default:
输入错误,请重新输入!
}
return;
对不起,没有找到该学生信息"
publicstaticvoiddelStudentMess(){
请输入您要删除的"
message.remove(stuMess);
删除该学生信息成功..."
publicstaticvoidfindStuMess(){
学生信息库为空,请先添加学生信息"
请输入您要查找的"
该学生信息如下:
System.out.println(stuMess.getNo()+"
+stuMess.getName()+"
+stuMess.getAge()+"
+stuMess.getGender());
删除失败,没有该学生信息..."
publicstaticvoidsavaDate(){
try(
ObjectOutputStreamoos=newObjectOutputStream(newFileOutputStream("
IoObjOutputListStuMess.dat"
//file路径可根据实际需要来改
)
{
oos.writeObject(message);
//对象应用的序列化:
直接将Student对象存入message集合中
}catch(FileNotFoundExceptione){
//e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
publicstaticvoidinitDate(){
ObjectInputStreamois=newObjectInputStream(newFileInputStream("
){
message=(ArrayList<
)ois.readObject();
}catch(ClassNotFoundExceptione){
-------首次加载,请添加学生信息!
!
------"
staticvoiddis(){
********欢迎使用学生信息管理系统**********"
System.out.println("
|1、增加一个学生|"
|2、显示所有学生|"
|3、修改学生信息|"
|4、删除学生信息|"
|5、查找学生|"
|6、退出程序|"
|(请选择1~6)|"
*************************************"
}
}
classStudentimplementsSerializable{//实现Serializable接口,该类就是可序列化的
privateStringno,name,gender;
privateintage;
publicStringgetNo(){
returnno;
publicvoidsetNo(Stringno){
this.no=no;
publicStringgetName(){
returnname;
publicvoidsetName(Stringname){
this.name=name;
publicintgetAge(){
returnage;
publicvoidsetAge(intage){
this.age=age;
publicStringgetGender(){
returngender;
publicvoidsetGender(Stringgender){
this.gender=gender;
publicStudent(){}//无参构造器
publicStudent(Stringno,Stringname,intage,Stringgender){
//super();
Override
publicStringtoString(){
return"
Student[no="
+no+"
name="
+name+"
gender="
+gender+"
age="
+age+"
]"
;