JAVA测验—学生学籍管理系统
Posted haheihei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA测验—学生学籍管理系统相关的知识,希望对你有一定的参考价值。
设计思路:
创建基本的ScoreInfoemation类,创建基本的数据成员以及基本的设置方法、获取数据方法以及有无参的构造方法。
1 package Test; 2 3 import java.util.*; 4 5 public class ScoreInformation 6 7 private String stunumber; 8 private String name; 9 private double mathematicsscore; 10 private double englishisscore; 11 private double networkscore; 12 private double databasescore; 13 private double softwarescore; 14 public void setStunumber(String stu) 15 16 this.stunumber=stu; 17 18 String getStunumber() 19 20 return this.stunumber; 21 22 void setName(String name) 23 24 this.name=name; 25 26 String getName() 27 28 return this.name; 29 30 void setMathematicsscore(double math) 31 32 this.mathematicsscore=math; 33 34 double getMathematicsscore() 35 36 return this.mathematicsscore; 37 38 void setEnglishisscore(double english) 39 40 this.englishisscore=english; 41 42 double getEnglishisscore() 43 44 return this.englishisscore; 45 46 void setNetworkscore(double net) 47 48 this.networkscore=net; 49 50 double getNetworkscore() 51 52 return this.networkscore; 53 54 void setDatebasescore(double data) 55 56 this.databasescore=data; 57 58 double getDatabasescore() 59 60 return this.databasescore; 61 62 void setSoftwarescore(double soft) 63 64 this.softwarescore=soft; 65 66 double getSoftwarescore() 67 68 return this.softwarescore; 69 70 public ScoreInformation(String stu,String name,double math,double english,double network,double data,double soft) 71 72 // TODO Auto-generated constructor stub 73 this.stunumber=stu; 74 this.name=name; 75 this.mathematicsscore=math; 76 this.englishisscore=english; 77 this.networkscore=network; 78 this.databasescore=data; 79 this.softwarescore=soft; 80 81 ScoreInformation() 82 83 this.stunumber=null; 84 this.name=null; 85 this.mathematicsscore=0; 86 this.englishisscore=0; 87 this.networkscore=0; 88 this.databasescore=0; 89 this.softwarescore=0; 90 91 92
再创建一个管理类ScoreManagement,并在类里创建实现各功能的函数,以ScoreInformation类的对象并初始化。
1 package Test; 2 3 import java.util.*; 4 5 public class ScoreManagement 6 Scanner in=new Scanner(System.in); 7 ScoreInformation stu[]=new ScoreInformation[5]; 8 static boolean key=true; //设置静态变量用于退出程序 9 String strChinese[]= "请输入","学生学号:","学生姓名:","高等数学成绩:","大学英语成绩:","计算机网络成绩:","数据库成绩:","软件工程成绩:"; 10 public ScoreManagement() //构造五个初始化数据 11 // TODO Auto-generated constructor stub 12 stu[0]=new ScoreInformation("20183691","李浩",100,90,90,100,98); 13 stu[1]=new ScoreInformation("20181000","诸葛钢铁",98,90,90,89,98); 14 stu[2]=new ScoreInformation("20181001","小沈阳",78,90,90,89,98); 15 stu[3]=new ScoreInformation("20181002","赵四",56,90,90,20,98); 16 stu[4]=new ScoreInformation("20181003","刘能",76,90,90,45,98); 17 18 void setScore() //实现学生成绩录入功能 19 20 String tempStr=null; 21 String tempkey=null; 22 double a[]=new double[5]; 23 do 24 25 System.out.println("***********************************************************"); 26 System.out.println("石家庄铁道大学软件工程系学生学籍管理系统 2019 版"); 27 System.out.println("学生考试成绩录入"); 28 System.out.println("***********************************************************"); 29 System.out.println("请输入学生学号:XXXXXXXX"); 30 System.out.println("***********************************************************"); 31 tempStr=in.next(); 32 for(int i=0;i<5;i++) 33 34 if(tempStr.equals(stu[i].getStunumber())) 35 36 for(int j=1;j<=5;j++) 37 38 System.out.println("***********************************************************"); 39 System.out.println("石家庄铁道大学软件工程系学生学籍管理系统 2019 版"); 40 System.out.println("学生考试成绩录入"); 41 System.out.println("***********************************************************"); 42 System.out.println("学生学号:"+stu[i].getStunumber()); 43 System.out.println("学生姓名:"+stu[i].getName()); 44 System.out.println(strChinese[0]+strChinese[j+2]+"XXX"); 45 System.out.println("***********************************************************"); 46 a[j-1]=in.nextDouble(); 47 if(j==5) 48 49 System.out.println("***********************************************************"); 50 System.out.println("石家庄铁道大学软件工程系学生学籍管理系统 2019 版"); 51 System.out.println("学生考试成绩录入"); 52 System.out.println("***********************************************************"); 53 System.out.println("学生学号:"+stu[i].getStunumber()); 54 System.out.println("学生姓名:"+stu[i].getName()); 55 for(int k=3;k<8;k++) 56 System.out.println(strChinese[k]+a[k-3]); 57 System.out.println("该学生成绩已录入完毕,是否提交(Y/N)"); 58 System.out.println("***********************************************************"); 59 tempkey=in.next(); 60 if(tempkey.equals("Y")) 61 stu[i]=new ScoreInformation(stu[i].getStunumber(),stu[i].getName(),a[0],a[1],a[2],a[3],a[4]); //用构造方法给对象赋值 62 63 64 break; 65 66 if(i==4) 67 68 tempkey="N"; 69 System.out.println("********该学号不存在********"); 70 71 72 while(tempkey.equals("N")); 73 74 void updataScore() //学生成绩更新功能 75 76 String tempStr=null; 77 String tempkey=null; 78 int tempselect; 79 do 80 81 System.out.println("***********************************************************"); 82 System.out.println("石家庄铁道大学软件工程系学生学籍管理系统 2019 版"); 83 System.out.println("学生考试成绩修改"); 84 System.out.println("***********************************************************"); 85 System.out.println("请输入学生学号:XXXXXXXX"); 86 System.out.println("***********************************************************"); 87 tempStr=in.next(); 88 for(int i=0;i<5;i++) 89 90 if(tempStr.equals(stu[i].getStunumber())) 91 92 double []a= stu[i].getMathematicsscore(),stu[i].getEnglishisscore(),stu[i].getNetworkscore(),stu[i].getDatabasescore(),stu[i].getSoftwarescore(); 93 System.out.println("***********************************************************"); 94 System.out.println("石家庄铁道大学软件工程系学生学籍管理系统 2019 版"); 95 System.out.println("学生考试成绩录入"); 96 System.out.println("***********************************************************"); 97 System.out.println("学生学号:"+stu[i].getStunumber()); 98 System.out.println("学生姓名:"+stu[i].getName()); 99 System.out.println("1、高等数学成绩:"+stu[i].getMathematicsscore()); 100 System.out.println("2、大学英语成绩:"+stu[i].getEnglishisscore()); 101 System.out.println("3、计算机网络成绩:"+stu[i].getNetworkscore()); 102 System.out.println("4、数据库成绩:"+stu[i].getDatabasescore()); 103 System.out.println("5、软件工程成绩:"+stu[i].getSoftwarescore()); 104 System.out.println("***********************************************************"); 105 tempselect=in.nextInt(); 106 System.out.println("***********************************************************"); 107 System.out.println("石家庄铁道大学软件工程系学生学籍管理系统 2019 版"); 108 System.out.println("学生考试成绩录入界面"); 109 System.out.println("***********************************************************"); 110 System.out.println("学生学号:"+stu[i].getStunumber()); 111 System.out.println("学生姓名:"+stu[i].getName()); 112 System.out.println("请输入修改后"+strChinese[tempselect+2]+"XXX"); 113 System.out.println("***********************************************************"); 114 a[tempselect-1]=in.nextDouble(); 115 System.out.println("***********************************************************"); 116 System.out.println("石家庄铁道大学软件工程系学生学籍管理系统 2019 版"); 117 System.out.println("学生考试成绩录入"); 118 System.out.println("***********************************************************"); 119 System.out.println("学生学号:"+stu[i].getStunumber()); 120 System.out.println("学生姓名:"+stu[i].getName()); 121 for(int j=1;j<=5;j++) 122 System.out.println(j+"、"+strChinese[j+2]+a[j-1]); 123 System.out.println("该学生成绩已录入完毕,是否提交(Y/N)"); 124 System.out.println("***********************************************************"); 125 tempkey=in.next(); 126 if(tempkey.equals("Y")) 127 128 stu[i]=new ScoreInformation(stu[i].getStunumber(),stu[i].getName(),a[0],a[1],a[2],a[3],a[4]); 129 130 break; 131 132 if(i==4) 133 134 tempkey="N"; 135 System.out.println("********该学号不存在********"); 136 137 138 while(tempkey.equals("N")); 139 140 double judgeScore(double score) //用于返回学生单科成绩对应的绩点函数 141 142 double num=0; 143 if(score<60) 144 num=0; 145 else if(score<64) 146 num=1; 147 else if(score<66) 148 num=1.5; 149 else if(score<68) 150 num=1.7; 151 else if(score<72) 152 num=2; 153 else if(score<75) 154 num=2.3; 155 else if(score<78) 156 num=2.7; 157 else if(score<82) 158 num=3; 159 else if(score<85) 160 num=3.3; 161 else if(score<90) 162 num=3.7; 163 else num=4; 164 return num; 165 166 double judgeCerdit(double score,int x) //判断单科成绩是否及格,并返回对应学分 167 168 double num=0; 169 if(score>=60) 170 switch(x) 171 172 case 1:num=4;break; 173 case 2:num=3;break; 174 case 3:num=4;break; 175 case 4:num=3;break; 176 case 5:num=2; 177 178 return num; 179 180 void countScore() //用于计算学生绩点并输出的功能 181 182 String tempstr=null,tempkey=null; 183 double sum=0; 184 do 185 186 System.out.println("***********************************************************"); 187 System.out.println("石家庄铁道大学软件工程系学生学籍管理系统 2019 版"); 188 System.out.println("学生考试成绩绩点计算界面"); 189 System.out.println("***********************************************************"); 190 System.out.println("请输入学生学号:XXXXXXXX"); 191 System.out.println("***********************************************************"); 192 tempstr=in.next(); 193 for(int i=0;i<5;i++) 194 195 if(tempstr.equals(stu[i].getStunumber())) 196 197 double []a= stu[i].getMathematicsscore(),stu[i].getEnglishisscore(),stu[i].getNetworkscore(),stu[i].getDatabasescore(),stu[i].getSoftwarescore(); 198 for(int j=0;j<5;j++) 199 sum+=judgeScore(a[j])*judgeCerdit(a[j],j+1); 200 System.out.println("***********************************************************"); 201 System.out.println("石家庄铁道大学软件工程系学生学籍管理系统 2019 版"); 202 System.out.println("学生考试成绩绩点计算界面"); 203 System.out.println("***********************************************************"); 204 System.out.println("学生学号:"+stu[i].getStunumber()); 205 System.out.println("学生姓名:"+stu[i].getName()); 206 for(int j=1;j<=5;j++) 207 System.out.println(j+"、"+strChinese[j+2].substring(0, strChinese[j+2].length()-1)+"绩点:"+judgeScore(a[j-1])); 208 System.out.println("你的平均学分绩点为:"+(sum/16.0)); 209 System.out.print("提示信息:"); 210 if(sum/16.0>=2) 211 System.out.println("********你的学分绩点已达到毕业要求!********"); 212 else System.out.println("********你的学分绩点不满足毕业要求!********"); 213 System.out.println("是否返回系统主界面:(Y/N)"); 214 System.out.println("***********************************************************"); 215 tempkey=in.next(); 216 break; 217 218 if(i==4) 219 220 tempkey="N"; 221 System.out.println("********该学号不存在********"); 222 223 224 while(tempkey.equals("N")); 225 226 void exit() //用于退出程序并输出结尾页 227 228 this.key=false; 229 System.out.println("***********************************************************"); 230 System.out.println("谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版"); 231 System.out.println("制作人:李浩"); 232 System.out.println("***********************************************************"); 233 234 void windows(ScoreManagement scoreManage) //将各函数组合构成一个完整的程序 235 236 do 237 238 System.out.println("***********************************************************"); 239 System.out.println("石家庄铁道大学软件工程系"); 240 System.out.println("学生学籍管理系统 2019 版"); 241 System.out.println("***********************************************************"); 242 System.out.println("1、 学生考试成绩录入"); 243 System.out.println("2、 学生考试成绩修改"); 244 System.out.println("3、 计算学生成绩绩点"); 245 System.out.println("4、退出学籍管理系统"); 246 System.out.println("***********************************************************"); 247 String tempkey; 248 tempkey=in.next(); 249 switch(tempkey) 250 251 case "1":scoreManage.setScore();break; 252 case "2":scoreManage.updataScore();break; 253 case "3":scoreManage.countScore();break; 254 case "4":scoreManage.exit();break; 255 default:System.out.println("*********该选项不存在*********"); 256 257 while(key); 258 259 260
创建主类,运行程序。
1 package Test; 2 3 public class Main 4 5 public Main() 6 // TODO Auto-generated constructor stub 7 8 9 public static void main(String[] args) 10 // TODO Auto-generated method stub 11 ScoreManagement scoreManage=new ScoreManagement(); 12 scoreManage.windows(scoreManage); 13 14 15
运行截图:
学生成绩录入:
以上是关于JAVA测验—学生学籍管理系统的主要内容,如果未能解决你的问题,请参考以下文章