Java开学测试
这次开学测试要求做一个信息系统,该系统完成学生成绩录入,修改,计算学分积点和查询学生成绩的简单功能。
下面是我写的代码
//信1805-3班 20183641 赵树琪 package test; import java.util.Scanner; public class ScoreInformation { static double M1; static double E1; static double N1; static double D1; static double S1; static double Z; private String stunumber; private String name; private double mathematicsscore;//高数学分4 private double englishiscore;//英语学分3 private double networkscore;//计网学分 4 private double databasescore;//数据库学分3 private double softwarescore;//软工学分2 public void setstunumber(String x) { stunumber=x; } public String getstunumber() { return stunumber; } public void setname(String x) { name=x; } public String getname() { return name; } public void setmathematicsscore(double x) { mathematicsscore=x; } public double getmathematicsscore() { return mathematicsscore; } public void setenglishiscore(double x) { englishiscore=x; } public double getenglishiscore() { return englishiscore; } public void setnetworkscore(double x) { networkscore=x; } public double getnetworkscore() { return networkscore; } public void setdatabasescore(double x) { databasescore=x; } public double getdatabasescore() { return databasescore; } public void setsoftwarescore(double x) { softwarescore=x; } public double getsoftwarescore() { return softwarescore; } /*public ScoreInformation(String stunumber,String name,double mathematicsscore,double englishiscore,double networkscore,double databasescore,double softwarescore) { this.stunumber=stunumber; this.name=name; this.mathematicsscore=mathematicsscore; this.englishiscore=englishiscore; this.networkscore=networkscore; this.databasescore=databasescore; this.softwarescore=softwarescore; }*/ } //信1805-3班 20183641 赵树琪 package test; import java.util.Scanner; class jiemian { public static void huajiemian() { System.out.println("***********************************************************\n"); System.out.println(" 石家庄铁道大学软件工程系\n"); System.out.println(" 学生学籍管理系统 2019 版\n"); System.out.println("***********************************************************\n"); System.out.println(" 1、学生考试成绩录入\n"); System.out.println(" 2、学生考试成绩修改\n"); System.out.println(" 3、计算学生成绩绩点\n"); System.out.println(" 4、退出学籍管理系统\n"); System.out.println("**********************************************************\n"); } } public class ScoreManagement { static double E2; static double M2; static double N2; static double D2; static double S2; public void luru() { System.out.println("***********************************************************\n"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版\n"); System.out.println(" 学生考试成绩录入\n"); System.out.println("***********************************************************\n"); System.out.println(" 请输入学生学号:XXXXXXXX\n"); System.out.println("**********************************************************\n"); } public void xiugai() { System.out.println("***********************************************************\n"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版\n"); System.out.println(" 学生考试成绩修改界面\n"); System.out.println("***********************************************************\n"); System.out.println(" 请输入学生学号:XXXXXXXX\n"); System.out.println("**********************************************************\n"); } public void jidian() { System.out.println("***********************************************************\n"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版\n"); System.out.println(" 学生考试成绩绩点计算界面\n"); System.out.println("***********************************************************\n"); System.out.println(" 请输入学生学号:XXXXXXXX\n"); System.out.println("**********************************************************\n"); } public static void main(String[] args) { ScoreInformation[] a=new ScoreInformation[5]; String n1="20183641",n2="20180001",n3="20180002",n4="20180003",n5="20180004"; String m1="赵树琪",m2="张三",m3="李四",m4="王五",m5="哈哈"; a[0]=new ScoreInformation(); a[0].setstunumber(n1); a[0].setname(m1); a[1]=new ScoreInformation(); a[1].setstunumber(n2); a[1].setname(m2); a[2]=new ScoreInformation(); a[2].setstunumber(n3); a[2].setname(m3); a[3]=new ScoreInformation(); a[3].setstunumber(n4); a[3].setname(m4); a[4]=new ScoreInformation(); a[4].setstunumber(n5); a[4].setname(m5); int x; Scanner input=new Scanner(System.in); while(true) { jiemian shuchu=new jiemian(); shuchu.huajiemian(); ScoreManagement z=new ScoreManagement();//用于调用函数 x=input.nextInt(); int q=0; if(x==1) { z.luru(); String num; while(true) { num=input.next(); int flag=1; for(int i=0;i<5;i++) { if(num.equals(a[i].getstunumber())) { System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 "); System.out.println(" 学生考试成绩录入"); System.out.println("***********************************************************"); System.out.println(" 学生学号: "+a[i].getstunumber()); System.out.println(" 学生姓名: "+a[i].getname()); System.out.println(" 请输入高等数学成绩:"); System.out.println("***********************************************************"); flag=0; q=i; break; } } if(flag==0) break; else { System.out.println("该学号不存在"); z.luru(); } } double M=input.nextDouble(); a[q].setmathematicsscore(M); System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 "); System.out.println(" 学生考试成绩录入 "); System.out.println("***********************************************************"); System.out.println(" 学生学号: "+a[q].getstunumber()); System.out.println(" 学生姓名: "+a[q].getname()); System.out.println(" 高等数学成绩:"+a[q].getmathematicsscore()); System.out.println(" 请输入大学英语成绩:"); System.out.println("***********************************************************"); double E=input.nextDouble(); a[q].setenglishiscore(E); System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 "); System.out.println(" 学生考试成绩录入 "); System.out.println("***********************************************************"); System.out.println(" 学生学号: "+a[q].getstunumber()); System.out.println(" 学生姓名: "+a[q].getname()); System.out.println(" 高等数学成绩:"+a[q].getmathematicsscore()); System.out.println(" 大学英语成绩:"+a[q].getenglishiscore()); System.out.println(" 请输入计算机网络成绩:"); System.out.println("***********************************************************"); double N=input.nextDouble(); a[q].setnetworkscore(N); System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 "); System.out.println(" 学生考试成绩录入 "); System.out.println("***********************************************************"); System.out.println(" 学生学号: "+a[q].getstunumber()); System.out.println(" 学生姓名: "+a[q].getname()); System.out.println(" 高等数学成绩:"+a[q].getmathematicsscore()); System.out.println(" 大学英语成绩:"+a[q].getenglishiscore()); System.out.println(" 计算机网络成绩:"+a[q].getnetworkscore()); System.out.println(" 请输入数据库成绩:"); System.out.println("***********************************************************"); double D=input.nextDouble(); a[q].setdatabasescore(D); System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 "); System.out.println(" 学生考试成绩录入 "); System.out.println("***********************************************************"); System.out.println(" 学生学号: "+a[q].getstunumber()); System.out.println(" 学生姓名: "+a[q].getname()); System.out.println(" 高等数学成绩:"+a[q].getmathematicsscore()); System.out.println(" 大学英语成绩:"+a[q].getenglishiscore()); System.out.println(" 计算机网络成绩:"+a[q].getnetworkscore()); System.out.println(" 数据库成绩:"+a[q].getdatabasescore()); System.out.println(" 请输入软件工程成绩:"); System.out.println("***********************************************************"); double S=input.nextDouble(); a[q].setsoftwarescore(S); System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 "); System.out.println(" 学生考试成绩录入 "); System.out.println("***********************************************************"); System.out.println(" 学生学号: "+a[q].getstunumber()); System.out.println(" 学生姓名: "+a[q].getname()); System.out.println(" 高等数学成绩:"+a[q].getmathematicsscore()); System.out.println(" 大学英语成绩:"+a[q].getenglishiscore()); System.out.println(" 计算机网络成绩:"+a[q].getnetworkscore()); System.out.println(" 数据库成绩:"+a[q].getdatabasescore()); System.out.println(" 软件工程成绩:"+a[q].getsoftwarescore()); System.out.println(" 该学生成绩已录入完毕,是否提交(Y/N) "); System.out.println("***********************************************************"); String aa=input.next(); if(aa.equals("N")) { a[q].setmathematicsscore(0); a[q].setenglishiscore(0); a[q].setnetworkscore(0); a[q].setdatabasescore(0); a[q].setsoftwarescore(0); } System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 "); System.out.println(" 学生考试成绩录入 "); System.out.println("***********************************************************"); System.out.println(" 学生学号: "+a[q].getstunumber()); System.out.println(" 学生姓名: "+a[q].getname()); System.out.println(" 高等数学成绩:"+a[q].getmathematicsscore()); System.out.println(" 大学英语成绩:"+a[q].getenglishiscore()); System.out.println(" 计算机网络成绩:"+a[q].getnetworkscore()); System.out.println(" 数据库成绩:"+a[q].getdatabasescore()); System.out.println(" 软件工程成绩:"+a[q].getsoftwarescore()); System.out.println("***********************************************************"); M2=a[q].getmathematicsscore(); E2=a[q].getenglishiscore(); N2=a[q].getnetworkscore(); D2=a[q].getdatabasescore(); S2=a[q].getsoftwarescore(); } if(x==2) { z.xiugai(); String idd; while(true) { idd=input.next(); int flag1=1; for(int i=0;i<5;i++) { if(idd.equals(a[i].getstunumber())) { flag1=0; q=i; } } if(flag1==1) { System.out.println("该学号不存在"); z.xiugai(); } else { System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 "); System.out.println(" 学生考试成绩录入 "); System.out.println("***********************************************************"); System.out.println(" 学生学号: "+a[q].getstunumber()); System.out.println(" 学生姓名: "+a[q].getname()); System.out.println(" 高等数学成绩:"+a[q].getmathematicsscore()); System.out.println(" 大学英语成绩:"+a[q].getenglishiscore()); System.out.println(" 计算机网络成绩:"+a[q].getnetworkscore()); System.out.println(" 数据库成绩:"+a[q].getdatabasescore()); System.out.println(" 软件工程成绩:"+a[q].getsoftwarescore()); System.out.println("***********************************************************"); System.out.println("请输入要修改的成绩的序号:"); int b=input.nextInt(); switch(b) { case 1: System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 "); System.out.println(" 学生考试成绩录入 "); System.out.println("***********************************************************"); System.out.println(" 学生学号: "+a[q].getstunumber()); System.out.println(" 学生姓名: "+a[q].getname()); System.out.println(" 输入修改后高等数学成绩: "); System.out.println("***********************************************************"); double c=input.nextDouble(); a[q].setmathematicsscore(c); break; case 2: System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 "); System.out.println(" 学生考试成绩录入 "); System.out.println("***********************************************************"); System.out.println(" 学生学号: "+a[q].getstunumber()); System.out.println(" 学生姓名: "+a[q].getname()); System.out.println(" 输入修改后大学英语成绩: "); System.out.println("***********************************************************"); double d=input.nextDouble(); a[q].setenglishiscore(d); break; case 3: System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 "); System.out.println(" 学生考试成绩录入 "); System.out.println("***********************************************************"); System.out.println(" 学生学号: "+a[q].getstunumber()); System.out.println(" 学生姓名: "+a[q].getname()); System.out.println(" 输入修改后计算机网络成绩: "); System.out.println("***********************************************************"); double e=input.nextDouble(); a[q].setnetworkscore(e); break; case 4: System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 "); System.out.println(" 学生考试成绩录入 "); System.out.println("***********************************************************"); System.out.println(" 学生学号: "+a[q].getstunumber()); System.out.println(" 学生姓名: "+a[q].getname()); System.out.println(" 输入修改后数据库成绩: "); System.out.println("***********************************************************"); double f=input.nextDouble(); a[q].setdatabasescore(f); break; case 5: System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 "); System.out.println(" 学生考试成绩录入 "); System.out.println("***********************************************************"); System.out.println(" 学生学号: "+a[q].getstunumber()); System.out.println(" 学生姓名: "+a[q].getname()); System.out.println(" 输入修改后软件工程成绩: "); System.out.println("***********************************************************"); double g=input.nextDouble(); a[q].setsoftwarescore(g); break; } System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 "); System.out.println(" 学生考试成绩录入 "); System.out.println("***********************************************************"); System.out.println(" 学生学号: "+a[q].getstunumber()); System.out.println(" 学生姓名: "+a[q].getname()); System.out.println(" 1.高等数学成绩:"+a[q].getmathematicsscore()); System.out.println(" 2.大学英语成绩:"+a[q].getenglishiscore()); System.out.println(" 3.计算机网络成绩:"+a[q].getnetworkscore()); System.out.println(" 4.数据库成绩:"+a[q].getdatabasescore()); System.out.println(" 5.软件工程成绩:"+a[q].getsoftwarescore()); System.out.println(" 该学生成绩已修改完毕,是否提交(Y/N) "); System.out.println("***********************************************************"); break; } } String aa1=input.next(); if(aa1.equals("N")) { a[q].setmathematicsscore(M2); a[q].setenglishiscore(E2); a[q].setnetworkscore(N2); a[q].setdatabasescore(D2); a[q].setsoftwarescore(S2); System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 "); System.out.println(" 学生考试成绩录入 "); System.out.println("***********************************************************"); System.out.println(" 学生学号: "+a[q].getstunumber()); System.out.println(" 学生姓名: "+a[q].getname()); System.out.println(" 1.高等数学成绩:"+a[q].getmathematicsscore()); System.out.println(" 2.大学英语成绩:"+a[q].getenglishiscore()); System.out.println(" 3.计算机网络成绩:"+a[q].getnetworkscore()); System.out.println(" 4.数据库成绩:"+a[q].getdatabasescore()); System.out.println(" 5.软件工程成绩:"+a[q].getsoftwarescore()); System.out.println("***********************************************************"); } } if(x==3) { z.jidian(); String iddd=input.next(); while(true) { int flag=1; for(int i=0;i<5;i++) { if(iddd.equals(a[i].getstunumber())) { flag=0; q=i; break; } } if(flag==0) break; else { System.out.println("该学号不存在"); z.jidian(); } } if(a[q].getmathematicsscore()>=90) a[q].M1=4; else if(a[q].getmathematicsscore()<90&&a[q].getmathematicsscore()>=85) a[q].M1=3.7; else if(a[q].getmathematicsscore()<85&&a[q].getmathematicsscore()>=82) a[q].M1=3.3; else if(a[q].getmathematicsscore()<82&&a[q].getmathematicsscore()>=78) a[q].M1=3.0; else if(a[q].getmathematicsscore()<78&&a[q].getmathematicsscore()>=75) a[q].M1=2.7; else if(a[q].getmathematicsscore()<75&&a[q].getmathematicsscore()>=72) a[q].M1=2.3; else if(a[q].getmathematicsscore()<72&&a[q].getmathematicsscore()>=68) a[q].M1=2.0; else if(a[q].getmathematicsscore()<68&&a[q].getmathematicsscore()>=66) a[q].M1=1.7; else if(a[q].getmathematicsscore()<66&&a[q].getmathematicsscore()>=64) a[q].M1=1.5; else if(a[q].getmathematicsscore()<64&&a[q].getmathematicsscore()>=60) a[q].M1=1.0; else a[q].M1=0; if(a[q].getenglishiscore()>=90) a[q].E1=4; else if(a[q].getenglishiscore()<90&&a[q].getenglishiscore()>=85) a[q].E1=3.7; else if(a[q].getenglishiscore()<85&&a[q].getenglishiscore()>=82) a[q].E1=3.3; else if(a[q].getenglishiscore()<82&&a[q].getenglishiscore()>=78) a[q].E1=3.0; else if(a[q].getenglishiscore()<78&&a[q].getenglishiscore()>=75) a[q].E1=2.7; else if(a[q].getenglishiscore()<75&&a[q].getenglishiscore()>=72) a[q].E1=2.3; else if(a[q].getenglishiscore()<72&&a[q].getenglishiscore()>=68) a[q].E1=2.0; else if(a[q].getenglishiscore()<68&&a[q].getenglishiscore()>=66) a[q].E1=1.7; else if(a[q].getenglishiscore()<66&&a[q].getenglishiscore()>=64) a[q].E1=1.5; else if(a[q].getenglishiscore()<64&&a[q].getenglishiscore()>=60) a[q].E1=1.0; else a[q].E1=0; if(a[q].getnetworkscore()>=90) a[q].N1=4; else if(a[q].getnetworkscore()<90&&a[q].getnetworkscore()>=85) a[q].N1=3.7; else if(a[q].getnetworkscore()<85&&a[q].getnetworkscore()>=82) a[q].N1=3.3; else if(a[q].getnetworkscore()<82&&a[q].getnetworkscore()>=78) a[q].N1=3.0; else if(a[q].getnetworkscore()<78&&a[q].getnetworkscore()>=75) a[q].N1=2.7; else if(a[q].getnetworkscore()<75&&a[q].getnetworkscore()>=72) a[q].N1=2.3; else if(a[q].getnetworkscore()<72&&a[q].getnetworkscore()>=68) a[q].N1=2.0; else if(a[q].getnetworkscore()<68&&a[q].getnetworkscore()>=66) a[q].N1=1.7; else if(a[q].getnetworkscore()<66&&a[q].getnetworkscore()>=64) a[q].N1=1.5; else if(a[q].getnetworkscore()<64&&a[q].getnetworkscore()>=60) a[q].N1=1.0; else a[q].N1=0; if(a[q].getdatabasescore()>=90) a[q].D1=4; else if(a[q].getdatabasescore()<90&&a[q].getdatabasescore()>=85) a[q].D1=3.7; else if(a[q].getdatabasescore()<85&&a[q].getdatabasescore()>=82) a[q].D1=3.3; else if(a[q].getdatabasescore()<82&&a[q].getdatabasescore()>=78) a[q].D1=3.0; else if(a[q].getdatabasescore()<78&&a[q].getdatabasescore()>=75) a[q].D1=2.7; else if(a[q].getdatabasescore()<75&&a[q].getdatabasescore()>=72) a[q].D1=2.3; else if(a[q].getdatabasescore()<72&&a[q].getdatabasescore()>=68) a[q].D1=2.0; else if(a[q].getdatabasescore()<68&&a[q].getdatabasescore()>=66) a[q].D1=1.7; else if(a[q].getdatabasescore()<66&&a[q].getdatabasescore()>=64) a[q].D1=1.5; else if(a[q].getdatabasescore()<64&&a[q].getdatabasescore()>=60) a[q].D1=1.0; else a[q].D1=0; if(a[q].getsoftwarescore()>=90) a[q].S1=4; else if(a[q].getsoftwarescore()<90&&a[q].getsoftwarescore()>=85) a[q].S1=3.7; else if(a[q].getsoftwarescore()<85&&a[q].getsoftwarescore()>=82) a[q].S1=3.3; else if(a[q].getsoftwarescore()<82&&a[q].getsoftwarescore()>=78) a[q].S1=3.0; else if(a[q].getsoftwarescore()<78&&a[q].getsoftwarescore()>=75) a[q].S1=2.7; else if(a[q].getsoftwarescore()<75&&a[q].getsoftwarescore()>=72) a[q].S1=2.3; else if(a[q].getsoftwarescore()<72&&a[q].getsoftwarescore()>=68) a[q].S1=2.0; else if(a[q].getsoftwarescore()<68&&a[q].getsoftwarescore()>=66) a[q].S1=1.7; else if(a[q].getsoftwarescore()<66&&a[q].getsoftwarescore()>=64) a[q].S1=1.5; else if(a[q].getsoftwarescore()<64&&a[q].getsoftwarescore()>=60) a[q].S1=1.0; else a[q].S1=0; a[q].Z=(a[q].M1*4+a[q].E1*3+a[q].N1*4+a[q].D1*3+a[q].S1*2)/16; if(a[q].Z>=2) { System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 "); System.out.println(" 学生考试成绩录入 "); System.out.println("***********************************************************"); System.out.println(" 学生学号: "+a[q].getstunumber()); System.out.println(" 学生姓名: "+a[q].getname()); System.out.println(" 1.高等数学成绩绩点:"+a[q].M1); System.out.println(" 2.大学英语成绩绩点:"+a[q].E1); System.out.println(" 3.计算机网络成绩绩点:"+a[q].N1); System.out.println(" 4.数据库成绩绩点:"+a[q].D1); System.out.println(" 5.软件工程成绩绩点:"+a[q].S1); System.out.println(" 你的平均学分绩点为:"+String.format("%.2f",a[q].Z)); System.out.println(" 提示信息:你的学分绩点已达到毕业要 求!"); System.out.println(" 是否返回系统主界面:(Y/N) "); System.out.println("***********************************************************"); } else { System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 "); System.out.println(" 学生考试成绩录入 "); System.out.println("***********************************************************"); System.out.println(" 学生学号: "+a[q].getstunumber()); System.out.println(" 学生姓名: "+a[q].getname()); System.out.println(" 1.高等数学成绩绩点:"+a[q].M1); System.out.println(" 2.大学英语成绩绩点:"+a[q].E1); System.out.println(" 3.计算机网络成绩绩点:"+a[q].N1); System.out.println(" 4.数据库成绩绩点:"+a[q].D1); System.out.println(" 5.软件工程成绩绩点:"+a[q].S1); System.out.println(" 你的平均学分绩点为:"+String.format("%.2f",a[q].Z)); System.out.println(" 提示信息:你的学分绩点不满足毕业要求!"); System.out.println(" 是否返回系统主界面:(Y/N) "); System.out.println("***********************************************************"); } String aa2=input.next(); if(aa2.equals("Y")) continue; } if(x==4) { System.out.println("***********************************************************"); System.out.println(" 谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版 "); System.out.println(" 制作人:赵树琪"); System.out.println("***********************************************************"); break; } } } }
然后来说一说的的编译思路,首先,根据题目要定义一个ScoreInformation类,然后把简单的系统界面画好,学生成绩等的数据存储,因为限于目前的能力,我选择了数组;系统一共有四个功能:录入、修改、计算绩点和退出,这里使用if条件语句和switch语句都可以,这里我的选择是if语句。
下面是我的运行结果截图