java实现学生管理系统(面向对象)
本文实例为大家分享了java实现学生管理系统的具体代码,供大家参考,具体内容如下
importjava.util.Iterator;
importjava.util.Scanner;
importjava.util.Set;
importjava.util.TreeSet;
/**
*学生管理系统
*1.添加学生(不可以重复添加,学生的学号决定是否为同一个学生,学生按照学号进行排序)
*2.可以查看学生信息(包括,学号,姓名,性别,联系电话,年龄)
*a.查看所有学生信息
*b.根据学号看学生信息
*3.可以根据学号进行学生信息的修改(学号不能被修改)
*4.可以删除学生(根据学号进行删除)
*5.可以重复进行操作,也可以选择退出系统
*@author74471
*
*/
publicclassStudentSys{
//用来存储添加的学生
Setstus=newTreeSet();
/**
*添加学生
*@paramstu即将被添加的学生对象
*@returntrue添加学生成功,false添加学生失败
*/
publicbooleanaddStu(Studentstu){
//学生对象为空或者学号为空
if(stu==null||stu.getStuNo()==null){
returnfalse;
}
//添加学生
booleanflag=stus.add(stu);
returnflag;
}
/**
*显示所有学生的信息
*/
publicvoidshowAllStus(){
Iteratoriterator=stus.iterator();
while(iterator.hasNext()){
Studentstu=iterator.next();
System.out.println(stu);
}
}
/**
*根据学号进行查找学生
*@paramstuNo需要查找的学生对象的学号
*@returnstu查找到了该学生对象,并且将其返回,null没有找到该学生
*/
publicStudentgetStuByStuNo(StringstuNo){
Iteratoriterator=stus.iterator();
while(iterator.hasNext()){//循环遍历学生集合
Studentstu=iterator.next();
//如果遍历到的学生对象的学号与传进来的学号相等,表示找到了该学生
if(stu.getStuNo().equals(stuNo)){
returnstu;
}
}
returnnull;
}
/**
*删除学生
*@paramstu需要被删除的学生
*@returntrue删除成功,false删除失败
*/
publicbooleandelStu(Studentstu){
returnstus.remove(stu);
}
/**
*修改学生的信息
*@paramstu学生老的信息对象
*@paramnewStu学生新的信息对象
*@returntrue修改成功,false修改失败
*/
publicbooleanupdateStu(Studentstu,StudentnewStu){
//如果要修改的学生对象为空或者学生新的信息对象为空,则修改失败
if(stu==null||newStu==null){
returnfalse;
}
//修改学生的信息
stu.setName(newStu.getName());
stu.setAge(newStu.getAge());
stu.setGender(newStu.getGender());
stu.setTelephone(newStu.getTelephone());
returntrue;
}
publicvoidinit(){
Studentstu=newStudent("001","1891829892","dsjk",18,"男");
Studentstu1=newStudent("002","1891829892","dsjk1",19,"男");
Studentstu2=newStudent("003","1891829892","dsjk2",17,"女");
Studentstu3=newStudent("004","1891829892","dsjk3",16,"男");
Studentstu4=newStudent("005","1891829892","dsjk3",20,"女");
stus.add(stu);
stus.add(stu1);
stus.add(stu2);
stus.add(stu3);
stus.add(stu4);
}
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Scannerscanner=newScanner(System.in);
StudentSysstuSys=newStudentSys();
//初始默认的学生信息
stuSys.init();
while(true){
System.out.println("**********欢迎进入学生管理系统**********");
System.out.println("\t1.添加学生");
System.out.println("\t2.查看学生信息");
System.out.println("\t3.修改学生信息");
System.out.println("\t4.删除学生");
System.out.println("\t5.退出系统");
System.out.print("请选择所需要的操作:");
intchoice=scanner.nextInt();
switch(choice){
case1://添加学生
//输入学生的信息
System.out.print("请输入学生学号:");
StringstuNo=scanner.next();
System.out.print("请输入学生姓名:");
Stringname=scanner.next();
System.out.print("请输入学生年龄:");
intage=scanner.nextInt();
System.out.print("请输入学生的性别:");
Stringgender=scanner.next();
System.out.print("请输入学生的联系方式:");
Stringtelephone=scanner.next();
Studentstu=newStudent(stuNo,telephone,name,age,gender);
//添加学生
booleanflag=stuSys.addStu(stu);
System.out.print("\n");
if(flag){//添加学生成功
System.out.println("添加学生成功!");
}else{//添加学生失败
System.out.println("添加学生失败!");
}
break;
case2://查看学生信息
System.out.println("****************************");
System.out.println("\t1.查看所有学生信息");
System.out.println("\t2.查看特定学生信息");
System.out.print("请选择操作:");
choice=scanner.nextInt();
switch(choice){
case1://查看所有学生信息
stuSys.showAllStus();
break;
case2://查看特定学生信息
System.out.print("请输入需要查看的学生的学号:");
stuNo=scanner.next();
//根据学号查找学生
stu=stuSys.getStuByStuNo(stuNo);
if(stu==null){//没找到
System.out.println("查无此生!");
}else{
System.out.println(stu);
}
break;
default:
System.out.println("没有此操作!");
}
break;
case3:
System.out.print("请输入需要修改的学生的学号:");
stuNo=scanner.next();
//根据学号查找学生
stu=stuSys.getStuByStuNo(stuNo);
if(stu==null){//没找到
System.out.println("没有要删除的学生!");
}else{
System.out.print("请输入学生的新名字:");
name=scanner.next();
System.out.print("请输入学生的新年龄:");
age=scanner.nextInt();
System.out.print("请输入学生的新性别:");
gender=scanner.next();
System.out.print("请输入学生的新联系方式:");
telephone=scanner.next();
//修改学生的信息
StudentnewStu=newStudent(stu.getStuNo(),telephone,name,age,gender);
flag=stuSys.updateStu(stu,newStu);
if(flag){//修改成功
System.out.println("修改学生成功!");
}else{//修改失败
System.out.println("修改学生失败!");
}
}
break;
case4://删除学生
System.out.print("请输入需要查看的学生的学号:");
stuNo=scanner.next();
//根据学号查找学生
stu=stuSys.getStuByStuNo(stuNo);
if(stu==null){//没找到
System.out.println("没有要删除的学生!");
}else{
//删除学生
flag=stuSys.delStu(stu);
if(flag){//删除成功
System.out.println("删除学生成功!");
}else{//删除失败
System.out.println("删除学生失败!");
}
}
break;
case5:
System.out.println("退出系统成功!");
//退出程序
System.exit(0);
break;
default:
System.out.println("选择的操作不合法!");
}
System.out.print("\n");
}
}
}
/** *学生类 *@authorAdministrator * */ publicclassStudentimplementsComparable{ //学号,联系电话,姓名,年龄,性别 privateStringstuNo; privateStringtelephone; privateStringname; privateintage; privateStringgender; //无参构造方法 publicStudent(){} //有参构造方法 publicStudent(StringstuNo,Stringtelephone,Stringname,intage,Stringgender){ this.stuNo=stuNo; this.telephone=telephone; this.name=name; this.age=age; this.gender=gender; } @Override publicinthashCode(){ finalintprime=31; intresult=1; result=prime*result+((stuNo==null)?0:stuNo.hashCode()); returnresult; } @Override publicbooleanequals(Objectobj){ if(this==obj) returntrue; if(obj==null) returnfalse; if(getClass()!=obj.getClass()) returnfalse; Studentother=(Student)obj; if(stuNo==null){ if(other.stuNo!=null) returnfalse; }elseif(!stuNo.equals(other.stuNo)) returnfalse; returntrue; } publicStringgetStuNo(){ returnstuNo; } publicvoidsetStuNo(StringstuNo){ this.stuNo=stuNo; } publicStringgetTelephone(){ returntelephone; } publicvoidsetTelephone(Stringtelephone){ this.telephone=telephone; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } publicintgetAge(){ returnage; } publicvoidsetAge(intage){ this.age=age; } publicStringgetGender(){ returngender; } publicvoidsetGender(Stringgender){ this.gender=gender; } @Override /** *比较方法,学生对象根据学号进行比较 *@paramstu需要比较的对象 *@return非零当前对象和需要比较的对象不相等 *0当前对象和需要比较的对象相等 */ publicintcompareTo(Studentstu){ //TODOAuto-generatedmethodstub returnstuNo.compareTo(stu.stuNo); } @Override publicStringtoString(){ return"Student[stuNo="+stuNo+",telephone="+telephone+",name="+name+",age="+age+",gender=" +gender+"]"; } }
关于管理系统的更多内容请点击《管理系统专题》进行学习
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。