2020-10-21

it2024-10-26  38

JavaSE基础知识(包含少许面向对象知识)实现的小练习

****忽然想起来之前学习javaSE基础知识做的一个小东西,分享一下吧

名字: 学生信息管理系统

运行环境: cmd窗口,或者更高级的开发工具,比如Eclipse…

基本功能和界面如下:

登录: 内置确定的用户名和密码

主功能界面

添加学生功能

查找学生

更新学生信息

删除学生

录入学生成绩

根据某门成绩排序

根据总分排序

具体源码如下:

/* Java 学生信息管理系统(面向对象) */ import java.util.Scanner; class Student{ private int id; private String name; private int age; private double java; private double csharp; private double html; private double sql; private double sum; private double avg; public Student(){ super(); } public void setId(int id){ this.id=id; } public void setName(String name){ this.name=name; } public void setAge(int age){ this.age=age; } public void setJava(double java){ this.java=java; } public void setCsharp(double csharp){ this.csharp=csharp; } public void setHtml(double html){ this.html=html; } public void setSql(double sql){ this.sql=sql; } public void setSum(){ this.sum=this.java+this.csharp+this.html+this.sql; } public void setAvg(){ this.avg=this.sum/4; } public int getId(){ return this.id; } public String getName(){ return this.name; } public int getAge(){ return this.age; } public double getJava(){ return this.java; } public double getCsharp(){ return this.csharp; } public double getHtml(){ return this.html; } public double getSql(){ return this.sql; } public double getSum(){ return this.sum; } public double getAvg(){ return this.avg; } public String toString(){ String msg="\t"+this.id+"\t"+this.name+"\t"+this.age+"\t"+this.java+"\t"+this.csharp+"\t"+this.html+"\t"+this.sql+"\t"+this.sum+"\t"+this.avg; return msg; } } class StudentAdmin{ public StudentAdmin(){ super(); } String msg="\t编号\t姓名\t年龄\tjava\tcsharp\thtml\tsql\t总分\t平均分"; public void print(Student[] stu){ System.out.println(msg); for(int i=0;i<stu.length;i++){ if(stu[i]!=null){ System.out.println(stu[i].toString()); } } } public void addStudent(String name,int age,Student[] stu){ Student student=new Student(); student.setName(name); student.setAge(age); int flag=-1; for(int i=0;i<stu.length;i++){ if(stu[i]==null){ stu[i]=student; flag=1; student.setId(i); print(stu); return; } } if(flag==-1){ System.out.println("请注意,系统已存满,不能再添加!!!"); } } public void selectStudent(int id,Student[] stu){ if(id>stu.length-1){ System.out.println(); System.out.println(); System.out.println("对不起,您输入的编号超出范围,无法查找!"); System.out.println(); System.out.println(); }else { if(stu[id]==null){ System.out.println("\t这个编号的学生还未录入!"); System.out.println(); System.out.println(); }else{ System.out.println(msg); System.out.println(stu[id].toString()); System.out.println(); System.out.println(); } } } public void updateStudent(int id,String name,int age,Student[] stu){ if(stu[id]==null){ System.out.println(); System.out.println(); System.out.println("该学生不存在,更新失败"); System.out.println(); System.out.println(); }else{ stu[id].setName(name); stu[id].setAge(age); System.out.println(); System.out.println(); System.out.println("-----更新学生信息成功-----"); print(stu); System.out.println(); System.out.println(); } } public void deleteStudent(int id,Student[] stu){ if(id>stu.length-1){ System.out.println("删除学生失败"); }else{ if(stu[id]==null){ System.out.println("删除学生失败"); }else{ stu[id]=null; print(stu); } } } public String getName(int id,Student[] stu){ if(id>stu.length-1){ System.out.println("输入的编号超出查找范围!"); return "输入的编号超出查找范围!"; }else{ if(stu[id]==null){ System.out.println("编号对应的学生为空,不存在"); return "编号对应的学生为空,不存在"; }else{ System.out.println("编号"+id+"对应的学生名字为: "+stu[id].getName()); return stu[id].getName(); } } } public void inputScore(int id,Student[] stu){ if(id>stu.length-1){ System.out.println("输入的编号超出范围"); }else{ if(stu[id]==null){ System.out.println("编号对应的学生为空,不存在"); }else{ Scanner sc=new Scanner(System.in); System.out.println("请输入"+stu[id].getName()+"的"+"java成绩"); double javaScore=sc.nextDouble(); System.out.println("请输入"+stu[id].getName()+"的"+"csharp成绩"); double csharpScore=sc.nextDouble(); System.out.println("请输入"+stu[id].getName()+"的"+"html成绩"); double htmlScore=sc.nextDouble(); System.out.println("请输入"+stu[id].getName()+"的"+"sql成绩"); double sqlScore=sc.nextDouble(); stu[id].setJava(javaScore); stu[id].setCsharp(csharpScore); stu[id].setHtml(htmlScore); stu[id].setSql(sqlScore); stu[id].setSum(); stu[id].setAvg(); print(stu); } } } public void scoreSort(int num,Student[] stu){ int ii=stu.length; for(int i=0;i<stu.length;i++){ if(stu[i]==null){ ii=i; break; } } if(num==1){//java成绩 for(int i=0;i<ii-1;i++){ for(int j=0;j<ii-1-i;j++){ if(stu[j].getJava()<stu[j+1].getJava()){ Student s=stu[j]; stu[j]=stu[j+1]; stu[j+1]=s; } } } print(stu); } if(num==2){//csharp成绩 for(int i=0;i<ii-1;i++){ for(int j=0;j<ii-1-i;j++){ if(stu[j].getCsharp()<stu[j+1].getCsharp()){ Student s=stu[j]; stu[j]=stu[j+1]; stu[j+1]=s; } } } print(stu); } if(num==3){//html成绩 for(int i=0;i<ii-1;i++){ for(int j=0;j<ii-1-i;j++){ if(stu[j].getHtml()<stu[j+1].getHtml()){ Student s=stu[j]; stu[j]=stu[j+1]; stu[j+1]=s; } } } print(stu); } if(num==4){//sql成绩 for(int i=0;i<ii-1;i++){ for(int j=0;j<ii-1-i;j++){ if(stu[j].getSql()<stu[j+1].getSql()){ Student s=stu[j]; stu[j]=stu[j+1]; stu[j+1]=s; } } } print(stu); } } public void sumSort(Student[] stu){ int ii=stu.length; for(int i=0;i<stu.length;i++){ if(stu[i]==null){ ii=i; break; } } for(int i=0;i<ii-1;i++){ for(int j=0;j<ii-1-i;j++){ if(stu[j].getSum()<stu[j+1].getSum()){ Student s=stu[j]; stu[j]=stu[j+1]; stu[j+1]=s; } } } print(stu); } } public class StudentAdminTest{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); StudentAdmin admin=new StudentAdmin(); String user_Name0="刘艳辉"; String passWord0="123456"; System.out.println("\t"+"\t"+"\t"+"您好!欢迎来到学生信息管理系统"); System.out.println("请登录"); while(true){ System.out.print("用户名: "); String user_Name=sc.next(); if(user_Name.equals(user_Name0)){ System.out.println(); System.out.println("用户名输入正确"); break; }else{ System.out.println(); System.out.println("用户名输入不正确,请重新输入"); } } System.out.println(); while(true){ System.out.print("登录密码: "); String passWord=sc.next(); if(passWord.equals(passWord0)){ System.out.println(); System.out.println("登录密码输入正确"); break; }else{ System.out.println(); System.out.println("登录密码输入不正确,请重新输入"); } } System.out.println("恭喜您登录成功!!!"); System.out.println("-------------------------------------------------------------------------"); int studentNumber; while(true){ System.out.print("请设置本系统管理的人数: "); studentNumber=sc.nextInt(); if(studentNumber>0){ break; }else{ System.out.println(); System.out.println("您的输入不合法,请重新输入!!!"); System.out.println(); } } System.out.println(); Student[] students=new Student[studentNumber]; LOOP: while(true){ System.out.println("\t"+"\t"+"\t"+"您好!欢迎来到主页面!!!!"); System.out.println("请选择要执行的功能(输入编号): "); System.out.println("1: 添加一个学生"); System.out.println("2: 查找一个学生"); System.out.println("3: 根据编号更新学生基本信息"); System.out.println("4: 根据学生编号删除学生"); System.out.println("5: 根据学生编号输入学生各科的成绩"); System.out.println("6: 根据某门课的成绩进行排序"); System.out.println("7: 根据总分进行排序"); System.out.println("99: 退出系统"); System.out.println(); int number=sc.nextInt(); switch(number){ case 1: System.out.println("------执行添加学生操作------"); System.out.println("请输入要添加学生的姓名: "); String name0=sc.next(); System.out.println("请输入要添加学生的年龄: "); int age0=sc.nextInt(); System.out.println(); System.out.println(); admin.addStudent(name0,age0,students); System.out.println(); System.out.println(); break; case 2: System.out.println("------执行查找学生操作------"); System.out.println("请输入要查找的学生编号: "); int id1=sc.nextInt(); admin.selectStudent(id1,students); break; case 3: System.out.println("------执行更新学生基本信息操作------"); System.out.println("请输入编号: "); int id2=sc.nextInt(); if((id2>=students.length)&&id2<0){ System.out.println(); System.out.println(); System.out.println("对不起,您输入的编号超出范围"); System.out.println(); System.out.println(); }else{ System.out.println("请输入新的学生姓名: "); String name3=sc.next(); System.out.println("请输入新的学生年龄: "); int age3=sc.nextInt(); admin.updateStudent(id2,name3,age3,students); } break; case 4: System.out.println("------执行删除学生信息操作------"); System.out.println("请输入要删除的学生的编号: "); int id3=sc.nextInt(); admin.deleteStudent(id3,students); break; case 5: System.out.println("------执行输入学生成绩操作------"); System.out.println("请输入要输入学生成绩的编号: "); int id4=sc.nextInt(); admin.inputScore(id4,students); break; case 6: System.out.println("------执行成绩排序操作------"); System.out.println("请输入要用什么成绩排序:(1:java 2:csharp 3:html 4:sql)"); int num=sc.nextInt(); admin.scoreSort(num,students); break; case 7: System.out.println("------执行总分排序操作------"); admin.sumSort(students); break; case 99: System.out.println("------退出系统成功!!!------"); break LOOP; default: System.out.println("您的输入有误,直接回到主页面"); continue LOOP; } System.out.println(); System.out.println("请选择回到主页面 Or 直接退出系统(输入编号: 1: 回到主页面 2:直接退出系统)"); int select=sc.nextInt(); switch(select){ case 1: System.out.println("回到主页面"); System.out.println(); System.out.println(); break; case 2: System.out.println("------退出系统成功!!!------"); break LOOP; default: System.out.println("您的输入有误,直接回到主页面"); break; } } } }

由于当时本人水平有限,如有不合理之处,欢迎大家指出,欢迎交流沟通

最新回复(0)