java学生管理系统
按照老师的要求,建立了一个zuoye1的包,然后在包内建立两个类。
一个类用来保存学生信息,另一个类用来实现方法。
package zuoye1; public class ScoreInfore { private String stunumber;//8位学号 private String name; private double mathematicsscore;//4学分 private double englishscor;//3学分 private double networkscore;//计算机网络成绩4学分 private double databasescore;//数据库成绩3学分 private double softwarescore;//软工成绩2学分 public ScoreInfore(String str1,String str2,double a,double b,double c,double d,double e) { this.stunumber=str1; this.name=str2; this.mathematicsscore=a; this.englishscor=b; this.networkscore=c; this.databasescore=d; this.softwarescore=e; } public String getnum() { return stunumber; } public void setnum(String number) { stunumber=number; } public String getname() { return name; } public void setname(String stuname) { name=stuname; } public void setmascore(double ms) { mathematicsscore=ms; } public double getmascore() { return mathematicsscore; } public void setenglishscore(double es) { englishscor=es; } public double getenglishscore() { return englishscor; } public double getdatabasescore() { return databasescore; } public void setdatabasescore(double ds) { databasescore=ds; } public double getsoftwarescore() { return softwarescore; } public void setsoftwarescore(double ss) { softwarescore=ss; } public double getnetworkscore() { return networkscore; } public void setnetworkscore(double ns) { networkscore=ns; } }
ScoreManagement类:
package zuoye1; import java.io.IOException; import java.util.Scanner; public class ScoreManagement { ScoreManagement s=new ScoreManagement(); //ScoreInfore[] ss= {new ScoreInfore("20183606","yan",0,0,0,0,0),new ScoreInfore("20183607","mei",0,0,0,0,0),new ScoreInfore("20183608","fan",0,0,0,0,0)}; //ss[1]=ScoreInfore("20183606","小晏",0,0,0,0,0); public static void main(String[] args) throws IOException { menu(); } static ScoreInfore[] ss= {new ScoreInfore("20183606","yan",0,0,0,0,0),new ScoreInfore("20183607","mei",0,0,0,0,0),new ScoreInfore("20183608","fan",0,0,0,0,0)}; static void menu()throws IOException//定义菜单函数 { System.out.println("*******************************"); System.out.println(" 石家庄铁道大学软件工程系 "); System.out.println(" 学生学籍管理系统2019年版 "); System.out.println("*******************************"); System.out.println(" 1.学生考试成绩录入 "); System.out.println(" 2.学生考试 成绩修改 "); System.out.println(" 3.计算学生成绩绩点 "); System.out.println(" 4.退出学籍管理系统 "); System.out.println("*******************************"); Scanner sc=new Scanner(System.in); int a=sc.nextInt(); switch(a) { case 1:add();menu();break; case 2:change();menu();break; case 3:jisuan();menu();break; case 4:tuichu();break; } } //成绩录入 static void add() throws IOException { System.out.println("***********************************"); System.out.println("石家庄铁道大学软件工程系学生信息学籍管理系统2019版"); System.out.println(" 学生考试成绩录入 "); System.out.println("***********************************"); System.out.println(" 请输入学生学号: "); System.out.println("***********************************"); Scanner sc=new Scanner(System.in); String num=sc.nextLine(); int flag = 1; for(int i=0;i<3;i++) { if(num.equals(ss[i].getnum())) { flag=1; System.out.println(ss[i].getnum()); System.out.println(ss[i].getname()); System.out.println("请输入数学成绩:"); double chengji11=sc.nextDouble(); System.out.println("请输入英语成绩:"); double chengji21=sc.nextDouble(); System.out.println("请输入计算机网络成绩:"); double chengji31=sc.nextDouble(); System.out.println("请输入数据库成绩:"); double chengji41=sc.nextDouble(); System.out.println("请输入软工成绩:"); double chengji51=sc.nextDouble(); System.out.println("输入完毕,是否保存?Y/N"); Scanner u=new Scanner(System.in); String r=u.nextLine(); switch(r) { case "Y":ss[i].setmascore(chengji11); ss[i].setenglishscore(chengji21); ss[i].setnetworkscore(chengji31); ss[i].setdatabasescore(chengji41); ss[i].setsoftwarescore(chengji51); break; case "N":add();break; } break; } else flag=0; } if(flag==0) { System.out.println("输入错误,请重新输入"); menu(); } } //成绩修改 static void change() throws IOException { System.out.println("**********************************"); System.out.println("石家庄铁道大学软件工程系学生信息学籍管理系统2019版"); System.out.println(" 学生考试成绩修改界面 "); System.out.println("***********************************"); System.out.println(" 请输入八位学生学号: "); System.out.println("***********************************"); Scanner sc=new Scanner(System.in); String num=sc.nextLine();//输入学号并进行判断 int flag = 1; for(int i=0;i<3;i++) { if(num.equals(ss[i].getnum())){ flag=1; System.out.println(ss[i].getnum()+"\n"+ss[i].getname()+"\n"+ss[i].getmascore()+"\n"+ss[i].getenglishscore()+"\n"+ss[i].getnetworkscore()+"\n"+ss[i].getdatabasescore()); System.out.println(ss[i].getsoftwarescore()); System.out.println("请输入要修改的学科代号:"); System.out.println("1.数学"); System.out.println("2.英语"); System.out.println("3.计算机网络成绩"); System.out.println("4.数据库成绩"); System.out.println("5.软工成绩"); int a=sc.nextInt();//输入要修改的学科代号 switch(a) { case 1: System.out.println("请输入要修改的数学成绩");double q=sc.nextDouble();ss[i].setmascore(q);break; case 2:System.out.println("请输入要修改的英语成绩");double w=sc.nextDouble();ss[i].setenglishscore(w);break; case 3:System.out.println("请输入要修改的计算机网络成绩");double e=sc.nextDouble();ss[i].setnetworkscore(e);break; case 4:System.out.println("请输入要修改的数据库成绩");double r=sc.nextDouble();ss[i].setdatabasescore(r);break; case 5:System.out.println("请输入要修改的软工成绩");double t=sc.nextDouble();ss[i].setsoftwarescore(t);break; } } else flag=0; } if(flag==0) { { System.out.println("输入错误"); menu(); } } } //成绩绩点 static void jisuan() { System.out.println("**********************************"); System.out.println("石家庄铁道大学软件工程系学生信息学籍管理系统2019版"); System.out.println(" 学生考试成绩绩点计算界面 "); System.out.println("***********************************"); System.out.println(" 请输入学生学号: "); System.out.println("***********************************"); Scanner sc=new Scanner(System.in); String num=sc.nextLine(); int flag=0; for(int i=0;i<3;i++) { if(num.equals(ss[i].getnum())) { flag=1; double q=0; q=judge(ss[i].getmascore())*4+judge(ss[i].getenglishscore())*3+judge(ss[i].getnetworkscore())*4+judge(ss[i].getdatabasescore())*3+judge(ss[i].getsoftwarescore())*2; double w=q/16; System.out.println("学号:"+ss[i].getnum()); System.out.println("姓名:"+ss[i].getname()); System.out.println("数学的绩点为:"+judge(ss[i].getmascore())); System.out.println("英语的绩点为:"+judge(ss[i].getenglishscore())); System.out.println("计算机网络成绩的绩点为:"+judge(ss[i].getnetworkscore())); System.out.println("数据库成绩绩点为:"+judge(ss[i].getdatabasescore())); System.out.println("软工成绩绩点为:"+judge(ss[i].getsoftwarescore())); System.out.println(String.format("%.2f", w)); } } } //判断学分绩点的函数 static double judge(double ww) { double jidian = 0; if(ww<60) jidian=0; if(ww>=60&&ww<63.9) jidian=1.0; if(ww>=64&&ww<65.9) jidian=1.5; if(ww>=66&&ww<67.9) jidian=1.7; if(ww>=68&&ww<71.9) jidian=2.0; if(ww>=72&&ww<74.9) jidian=2.3; if(ww>=75&&ww<77.9) jidian=2.7; if(ww>=78&&ww<81.9) jidian=3.0; if(ww>=82&&ww<84.9) jidian=3.3; if(ww>=85&&ww<89.9) jidian=3.7; if(ww>=90) jidian=4.0; return jidian; } //退出界面 static void tuichu() { System.out.println("***********************************"); System.out.println("石家庄铁道大学软件工程系学生信息学籍管理系统2019版"); System.out.println(" 制作人:张子一 "); System.out.println("***********************************"); } }
程序运行结果:



在编程过程中,我遇到了很多困难,刚开始都没弄清楚两个类的结构。对各个方法的过程也没有头绪。
在编程过程中,对Java的语法有了一个大概的认识,认识到了良好的编程习惯的重要性。学会了对象数组是我这次最大的收获。我还缺少编程经验,以后要加强练习。