《2022年用JAVA编写的学生管理系统 .pdf》由会员分享,可在线阅读,更多相关《2022年用JAVA编写的学生管理系统 .pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、import java.io.InputStreamReader;import java.util.Scanner;/*author*since 2013-07-28*/class student/定义一个学生类private static final int SUBJECT_NUM=0;String name=;String id=;int record=new int3;int total=0;public student(String name,String id,int record,int total)super();this.name=name;this.id=id;this.re
2、cord=record;this.total=total;public String getStudentId()/定义 get()和 set()方法return id;public void setStudentId(String studentId)this.id=studentId;public String getStudentName()return name;public void setStudentName(String studentName)this.name=studentName;public int getGrades()return record;public vo
3、id setGrades(int grades)this.record=grades;public int getTotal()名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 9 页 -return total;public void setTotal(int total)this.total=total;public int getSUBJECT_NUM()return SUBJECT_NUM;public class Studentsystem private static int currentNum=0;private final static int TOTAL=60;
4、public static Scanner scanner=new Scanner(new InputStreamReader(System.in);private static student student=new studentTOTAL;public static void main(String args)Scanner userInPut=new Scanner(System.in);boolean flag=true;Studentsystem stus=new Studentsystem();/建立菜单选择系统while(true)System.out.println(-欢迎进
5、入菜单选择系统-);System.out.println(1.添加学生2.删除学生3.比较两个人的总成绩4.查询学生信息);System.out.println(5.排序6.按总成绩过滤7.修改学生信息:8.显示学生信息:);int Enternumber;Enternumber=userInPut.nextInt();switch(Enternumber)case 1:/添加学生for(int i=0;i3;i+)System.out.println(请输入学生信息:姓名,学号,数学,英语,JAVA,);stus.addInformation();break;case 2:/删除学生Syst
6、em.out.println(输入要删除学生的学号:);Studentsystem.deleteInformation();break;case 3:/比较两个人的总成绩System.out.println(请输入要比较的两个学生的学号:);SpareInformation();名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 9 页 -break;case 4:/查询学生信息System.out.println(请输入要查询的学生学号:);Studentsystem.selectInformation();break;case 5:/排序Studentsystem.sortInf
7、ormation();break;case 6:/按总成绩过滤System.out.println(请输入要过滤的分数:);Studentsystem.guolvInformation();break;case 7:/修改学生信息System.out.println(请输入要修改的姓名:);Studentsystem.changeInformation();break;case 8:/显示学生信息Studentsystem.showInformation();break;case 9:return;default:break;void addInformation()/添加学生String n
8、ame=;String id=;int record=new int3;int total=0;name=scanner.next();id=scanner.next();for(int i=0;i record.length;i+)/计算总分recordi=scanner.nextInt();total=total+recordi;studentcurrentNum=new student(name,id,record,total);currentNum+;public static void deleteInformation()/删除学生名师资料总结-精品资料欢迎下载-名师精心整理-第
9、3 页,共 9 页 -String delid=scanner.next().trim();int temp=0,num;for(num=0;numcurrentNum;num+)if(studentnum.getStudentId().equals(delid)/找到要删除学生的id break;if(num=currentNum)System.out.println(没有找到指定的学生信息!);else for(int i=num;i currentNum;i+)studenti=studenti+1;studentnum=null;currentNum-;System.out.print
10、ln(学生信息删除成功!);public static boolean compareInformation()/比较两人的成绩String stuId1=scanner.next();String stuId2=scanner.next();int index1=0;int index2=0;int num;boolean flag1=true,flag2=true;/判断第一个学号是否存在for(num=0;num currentNum;num+)if(stuId1.equals(studentnum.getStudentId()index1=num;break;if(num=curren
11、tNum)System.out.println(没有找到指定学号的学生信息!);flag1=false;/判断输入的第二个学号是否存在for(num=0;num studentindex2.getTotal()System.out.println(studentindex1.getStudentName()+同学总分比 +studentindex2.getStudentName()+多+(studentindex1.getTotal()-studentindex2.getTotal()+分);else if(studentindex1.getTotal()studentindex2.getTo
12、tal()System.out.println(studentindex2.getStudentName()+同学总分比 +studentindex1.getStudentName()+多+(studentindex2.getTotal()-studentindex1.getTotal()+分);else System.out.println(studentindex1.getStudentName()+和+studentindex2.getStudentName()+总分相同);return true;public static void selectInformation()/查询学生的信
13、息名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 9 页 -int num;String stuId=scanner.next();for(num=0;num currentNum;num+)if(studentnum.getStudentId().equals(stuId)/找到要查寻得id break;if(num=currentNum)System.out.println(没有找到指定的学生信息!);else System.out.println(要查询的学生信息为:+姓名:+studentnum.getStudentName()+学号:+studentnum.getStu
14、dentId()+数学成绩:+studentnum.getGrades()0+.英语成绩:+studentnum.getGrades()1+JAVA:+studentnum.getGrades()2+总分:+studentnum.getTotal()+);public static void sortInformation()/按总成绩排序int point=0;while(studentpoint!=null)point+;int length=point;int gradeTemp=new intlength;String nameTemp=new Stringlength;/取出已经存在
15、的学生的相关信息到临时数组中存储for(int i=0;i length;i+)gradeTempi=studenti.getTotal();nameTempi=studenti.getStudentName();/利用选择排序算法对抽取出的学生的总分按照大到小的顺序进行排序for(int i=0;i length-1;i+)for(int j=i+1;j length;j+)if(gradeTempi gradeTempj)int temp=gradeTempi;String tempString=nameTempi;gradeTempi=gradeTempj;nameTempi=nameT
16、empj;gradeTempj=temp;nameTempj=tempString;名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 9 页 -System.out.println(学生成绩单:rn);for(int i=0;i gradeTemp.length;i+)System.out.print(+姓名:+studenti.getStudentName()+学号:+studenti.getStudentId()+数学成绩:+studenti.getGrades()0+.英语成绩:+studenti.getGrades()1+JA VA:+studenti.getGrades(
17、)2+);System.out.println(nameTempi+的总分:+gradeTempi);public static void guolvInformation()/按总分过滤学生信息int grade;grade=scanner.nextInt();for(int num=0;numcurrentNum;num+)if(gradestudentnum.getTotal()System.out.println(+姓名:+studentnum.getStudentName()+学号 +studentnum.getStudentId()+数学 +studentnum.getGrades
18、()0+英语 +studentnum.getGrades()0+JA VA+studentnum.getGrades()0+总分 +studentnum.getTotal();public static void changeInformation()/修改学生的信息int item;int num=0;String Name=scanner.next().trim();for(num=0;numcurrentNum;num+)if(Name.equals(studentnum.getStudentName()break;if(num=currentNum)System.out.println
19、(没有找到学生信息);else System.out.println(请输入要修改的选项:1:修改学号2.修改数学3.修改英语4.修改 JAVA);名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 9 页 -item=scanner.nextInt();switch(item)case 1:System.out.println(请输入新的学号:);String id=scanner.next();studentnum.setStudentId(id);System.out.println(修改成功:);break;case 2:System.out.println(请输入新的成绩:
20、);int record=scanner.nextInt();inttempGrade1=studentnum.getGrades();tempGrade10=record;studentnum.setGrades(tempGrade1);System.out.println(修改成功:);break;case 3:System.out.println(请输入新的成绩:);int record1=scanner.nextInt();inttempGrade2=studentnum.getGrades();tempGrade21=record1;System.out.println(修改成功:)
21、;break;case 4:System.out.println(请输入新的成绩:);int record2=scanner.nextInt();inttempGrade3=studentnum.getGrades();tempGrade32=record2;System.out.println(修改成功:);break;default:public static void showInformation()/显示学生的信息System.out.println(-成绩单-);System.out.println(姓 名学 号数 学英语java 总分);for(int num=0;numcurrentNum;num+)System.out.println(studentnum.getStudentName()+名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 9 页 -+studentnum.getStudentId()+studentnum.getGrades()0+studentnum.getGrades()1+studentnum.getGrades()2+studentnum.getTotal();名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 9 页 -
限制150内