周一下午进行了开学来java第一次课堂测验,在课堂上我只完成了其中一部分,现代码修改如下:
先定义 ScoreInformation 类记录学生信息:
1 /** 2 * 信1805-1 3 * 胡一鸣 4 * 20183541 5 */ 6 public class ScoreInformation { 7 private String stunumber;//学号 8 private String name;//姓名 9 private double mathematicsscore;//高等数学成绩 10 private double englishiscore;//大学英语成绩 11 private double networkscore;//计算机网络成绩 12 private double databasescore;//数据库成绩 13 private double softwarescore; //软件工程成绩 14 public ScoreInformation(String stunumber,String name,double mathematicsscore,double englishiscore,double networkscore,double databasescore, double softwarescore) { 15 super(); 16 this.stunumber = stunumber; 17 this.name = name; 18 this.mathematicsscore = mathematicsscore; 19 this.englishiscore = englishiscore; 20 this.networkscore = networkscore; 21 this.databasescore = databasescore; 22 this.softwarescore = softwarescore; 23 } 24 public String getStunumber() { 25 return stunumber; 26 } 27 public void setStunumber(String stunumber) { 28 this.stunumber = stunumber; 29 } 30 public String getName() { 31 return name; 32 } 33 public void setName(String name) { 34 this.name = name; 35 } 36 public double getMathematicsscore() { 37 return mathematicsscore; 38 } 39 public void setMathematicsscore(double mathematicsscore) { 40 this.mathematicsscore = mathematicsscore; 41 } 42 public double getEnglishiscore() { 43 return englishiscore; 44 } 45 public void setEnglishiscore(double englishiscore) { 46 this.englishiscore = englishiscore; 47 } 48 public double getNetworkscore() { 49 return networkscore; 50 } 51 public void setNetworkscore(double networkscore) { 52 this.networkscore = networkscore; 53 } 54 public double getDatabasescore() { 55 return databasescore; 56 } 57 public void setDatabasescore(double databasescore) { 58 this.databasescore = databasescore; 59 } 60 public double getSoftwarescore() { 61 return softwarescore; 62 } 63 public void setSoftwarescore(double softwarescore) { 64 this.softwarescore = softwarescore; 65 } 66 }
再定义 ScoreManagement 类实现系统功能:
1 /** 2 * 信1805-1 3 * 胡一鸣 4 * 20183541 5 */ 6 import java.util.*; 7 public class ScoreManagement { 8 static int t = 0; 9 static String B; 10 static int sum = 5; 11 static double []r = new double[6]; 12 static double jl = 0.0; 13 static Scanner sc=new Scanner(System.in); 14 static ScoreInformation[] a = new ScoreInformation[1000]; 15 16 public static void fristcreate() { 17 a[0]=new ScoreInformation("20183541","胡一鸣",0.0,0.0,0.0,0.0,0.0); 18 a[1]=new ScoreInformation("20180001","张三",0.0,0.0,0.0,0.0,0.0); 19 a[2]=new ScoreInformation("20180002","李四",0.0,0.0,0.0,0.0,0.0); 20 a[3]=new ScoreInformation("20180003","王五",0.0,0.0,0.0,0.0,0.0); 21 a[4]=new ScoreInformation("20180004","赵六",0.0,0.0,0.0,0.0,0.0); 22 } 23 24 public static int systemMenu() { 25 System.out.println("*************************************************************** \n" + 26 " 石家庄铁道大学信息科学与技术学院 \n" + 27 " 学生学籍信息管理系统 2019版 \n" + 28 "**************************************************************** \n" + 29 " 1、 学生考试成绩录入; \n" + 30 " 2、 学生考试成绩修改; \n" + 31 " 3、 计算学生成绩绩点; \n" + 32 " 4、 退出学籍管理系统; \n" + 33 "****************************************************************"); 34 int ch; 35 ch = sc.nextInt(); 36 return ch; 37 } 38 39 public static String inputMenu() { 40 String stunumber1; 41 System.out.println("*************************************************************** \n" + 42 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 43 " 学生考试成绩录入 \n" + 44 "**************************************************************** \n" + 45 "请输入学生学号:"); 46 stunumber1=sc.next(); 47 System.out.println(""); 48 return stunumber1; 49 } 50 public static void menu1() { 51 double b = 0.0; 52 System.out.println("*************************************************************** \n" + 53 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 54 " 学生考试成绩录入 \n" + 55 "**************************************************************** \n" + 56 " 学生学号:"+a[t].getStunumber()+"\n"+ 57 " 学生姓名:"+a[t].getName()+"\n"+ 58 "请输入高等数学成绩:"); 59 b=sc.nextDouble(); 60 a[t].setMathematicsscore(b); 61 System.out.println(""); 62 menu2(); 63 } 64 65 public static void menu2() { 66 double b = 0.0; 67 System.out.println("*************************************************************** \n" + 68 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 69 " 学生考试成绩录入 \n" + 70 "**************************************************************** \n" + 71 " 学生学号:"+a[t].getStunumber()+"\n"+ 72 " 学生姓名:"+a[t].getName()+"\n"+ 73 " 高等数学成绩:"+a[t].getMathematicsscore()+"\n"+ 74 "请输入大学英语成绩:"); 75 b=sc.nextDouble(); 76 a[t].setEnglishiscore(b); 77 System.out.println(""); 78 menu3(); 79 } 80 81 public static void menu3() { 82 double b = 0.0; 83 System.out.println("*************************************************************** \n" + 84 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 85 " 学生考试成绩录入 \n" + 86 "**************************************************************** \n" + 87 " 学生学号:"+a[t].getStunumber()+"\n"+ 88 " 学生姓名:"+a[t].getName()+"\n"+ 89 " 高等数学成绩:"+a[t].getMathematicsscore()+"\n"+ 90 " 大学英语成绩:"+a[t].getEnglishiscore()+"\n"+ 91 "请输入计算机网络成绩:"); 92 b=sc.nextDouble(); 93 a[t].setNetworkscore(b); 94 System.out.println(""); 95 menu4(); 96 } 97 98 public static void menu4() { 99 double b=0.0; 100 System.out.println("*************************************************************** \n" + 101 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 102 " 学生考试成绩录入 \n" + 103 "**************************************************************** \n" + 104 " 学生学号:"+a[t].getStunumber()+"\n"+ 105 " 学生姓名:"+a[t].getName()+"\n"+ 106 " 高等数学成绩:"+a[t].getMathematicsscore()+"\n"+ 107 " 大学英语成绩:"+a[t].getEnglishiscore()+"\n"+ 108 " 计算机网络成绩:"+a[t].getNetworkscore()+"\n"+ 109 "请输入数据库成绩:"); 110 b=sc.nextDouble(); 111 a[t].setDatabasescore(b); 112 System.out.println(""); 113 menu5(); 114 } 115 116 public static void menu5() { 117 double b=0.0; 118 System.out.println("*************************************************************** \n" + 119 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 120 " 学生考试成绩录入 \n" + 121 "**************************************************************** \n" + 122 " 学生学号:"+a[t].getStunumber()+"\n"+ 123 " 学生姓名:"+a[t].getName()+"\n"+ 124 " 高等数学成绩:"+a[t].getMathematicsscore()+"\n"+ 125 " 大学英语成绩:"+a[t].getEnglishiscore()+"\n"+ 126 " 计算机网络成绩:"+a[t].getNetworkscore()+"\n"+ 127 " 数据库成绩:"+a[t].getDatabasescore()+"\n"+ 128 "请输入软件工程成绩:"); 129 b=sc.nextDouble(); 130 a[t].setSoftwarescore(b); 131 System.out.println(""); 132 menu6(); 133 } 134 135 public static void menu6() { 136 String b; 137 System.out.println("*************************************************************** \n" + 138 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 139 " 学生考试成绩录入 \n" + 140 "**************************************************************** \n" + 141 " 学生学号:"+a[t].getStunumber()+"\n"+ 142 " 学生姓名:"+a[t].getName()+"\n"+ 143 " 高等数学成绩:"+a[t].getMathematicsscore()+"\n"+ 144 " 大学英语成绩:"+a[t].getEnglishiscore()+"\n"+ 145 " 计算机网络成绩:"+a[t].getNetworkscore()+"\n"+ 146 " 数据库成绩:"+a[t].getDatabasescore()+"\n"+ 147 " 软件工程成绩:"+a[t].getSoftwarescore()+"\n"+ 148 "该学生的成绩已录入,是否提交(Y/N)"); 149 b=sc.next(); 150 if(b.compareTo("N")==0) { 151 a[t]=new ScoreInformation(a[t].getStunumber(),a[t].getName(),0.0,0.0,0.0,0.0,0.0); 152 luru(); 153 } 154 else { 155 return; 156 } 157 System.out.println(""); 158 } 159 160 public static void luru() { 161 int f=0; 162 String stunumber2=inputMenu(); 163 for(int i=0;i<5;i++) { 164 if(a[i].getStunumber().compareTo(stunumber2)==0) { 165 t=i; 166 f=1; 167 menu1(); 168 break; 169 } 170 } 171 if(f==0) { 172 System.out.println("该学号不存在"); 173 stunumber2=inputMenu(); 174 luru(); 175 return; 176 } 177 } 178 179 public static String gaiMenu() { 180 String stunumber1; 181 System.out.println("*************************************************************** \n" + 182 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 183 " 学生考试成绩修改 \n" + 184 "**************************************************************** \n" + 185 "请输入学生学号:"); 186 stunumber1=sc.next(); 187 System.out.println(""); 188 return stunumber1; 189 } 190 191 public static void xiugai() { 192 int f=0; 193 String stunumber2 = gaiMenu(); 194 for(int i=0;i<5;i++) { 195 if(a[i].getStunumber().compareTo(stunumber2)==0) { 196 t=i; 197 f=1; 198 int z = menu10(); 199 while(true) { 200 switch(z) { 201 case 1: 202 menu11(); 203 if(B.equals("N")) { 204 a[t].setMathematicsscore(jl); 205 xiugai(); 206 } 207 break; 208 case 2: 209 menu12(); 210 if(B.equals("N")) { 211 a[t].setEnglishiscore(jl);; 212 xiugai(); 213 } 214 break; 215 case 3: 216 menu13(); 217 if(B.equals("N")) { 218 a[t].setNetworkscore(jl);; 219 xiugai(); 220 } 221 break; 222 case 4: 223 menu14(); 224 if(B.equals("N")) { 225 a[t].setDatabasescore(jl);; 226 xiugai(); 227 } 228 break; 229 case 5: 230 menu15(); 231 if(B.equals("N")) { 232 a[t].setSoftwarescore(jl);; 233 xiugai(); 234 } 235 break; 236 } 237 break; 238 } 239 } 240 } 241 if(f==0) { 242 System.out.println("该学号不存在"); 243 stunumber2=inputMenu(); 244 luru(); 245 return; 246 } 247 } 248 249 public static int menu10() { 250 int f=0; 251 System.out.println("*************************************************************** \n" + 252 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 253 " 学生考试成绩录入 \n" + 254 "**************************************************************** \n" + 255 " 学生学号:"+a[t].getStunumber()+"\n"+ 256 " 学生姓名:"+a[t].getName()+"\n"+ 257 " 1.高等数学成绩:"+a[t].getMathematicsscore()+"\n"+ 258 " 2.大学英语成绩:"+a[t].getEnglishiscore()+"\n"+ 259 " 3.计算机网络成绩:"+a[t].getNetworkscore()+"\n"+ 260 " 4. 数据库成绩:"+a[t].getDatabasescore()+"\n"+ 261 " 5.软件工程成绩:"+a[t].getSoftwarescore()+"\n"+ 262 "**************************************************************** \n"); 263 f=sc.nextInt(); 264 return f; 265 } 266 267 public static void menu11() { 268 double b=0.0; 269 System.out.println("*************************************************************** \n" + 270 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 271 " 学生考试成绩录入 \n" + 272 "**************************************************************** \n" + 273 " 学生学号:"+a[t].getStunumber()+"\n"+ 274 " 学生姓名:"+a[t].getName()+"\n"+ 275 "请输入修改后的高等数学成绩:"); 276 b=sc.nextDouble(); 277 jl=a[t].getMathematicsscore(); 278 a[t].setMathematicsscore(b); 279 System.out.println(""); 280 menu16(); 281 } 282 283 public static void menu12() { 284 double b=0.0; 285 System.out.println("*************************************************************** \n" + 286 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 287 " 学生考试成绩录入 \n" + 288 "**************************************************************** \n" + 289 " 学生学号:"+a[t].getStunumber()+"\n"+ 290 " 学生姓名:"+a[t].getName()+"\n"+ 291 "请输入修改后的英语成绩:"); 292 b=sc.nextDouble(); 293 jl=a[t].getEnglishiscore(); 294 a[t].setMathematicsscore(b); 295 System.out.println(""); 296 menu16(); 297 } 298 299 public static void menu13() { 300 double b=0.0; 301 302 System.out.println("*************************************************************** \n" + 303 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 304 " 学生考试成绩录入 \n" + 305 "**************************************************************** \n" + 306 " 学生学号:"+a[t].getStunumber()+"\n"+ 307 " 学生姓名:"+a[t].getName()+"\n"+ 308 "请输入修改后的计算机网络成绩:"); 309 b=sc.nextDouble(); 310 jl=a[t].getNetworkscore(); 311 a[t].setNetworkscore(b); 312 System.out.println(""); 313 menu16(); 314 } 315 316 public static void menu14() { 317 double b=0.0; 318 System.out.println("*************************************************************** \n" + 319 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 320 " 学生考试成绩录入 \n" + 321 "**************************************************************** \n" + 322 " 学生学号:"+a[t].getStunumber()+"\n"+ 323 " 学生姓名:"+a[t].getName()+"\n"+ 324 "请输入修改后的数据库成绩:"); 325 b=sc.nextDouble(); 326 jl=a[t].getDatabasescore(); 327 a[t].setDatabasescore(b); 328 System.out.println(""); 329 menu16(); 330 } 331 332 public static void menu15() { 333 double b=0.0; 334 System.out.println("*************************************************************** \n" + 335 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 336 " 学生考试成绩录入 \n" + 337 "**************************************************************** \n" + 338 " 学生学号:"+a[t].getStunumber()+"\n"+ 339 " 学生姓名:"+a[t].getName()+"\n"+ 340 "请输入修改后的软件工程成绩:"); 341 b=sc.nextDouble(); 342 jl=a[t].getSoftwarescore(); 343 a[t].setSoftwarescore(b); 344 System.out.println(""); 345 menu16(); 346 } 347 348 public static void menu16() { 349 String b; 350 System.out.println("*************************************************************** \n" + 351 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 352 " 学生考试成绩录入 \n" + 353 "**************************************************************** \n" + 354 " 学生学号:"+a[t].getStunumber()+"\n"+ 355 " 学生姓名:"+a[t].getName()+"\n"+ 356 " 高等数学成绩:"+a[t].getMathematicsscore()+"\n"+ 357 " 大学英语成绩:"+a[t].getEnglishiscore()+"\n"+ 358 " 计算机网络成绩:"+a[t].getNetworkscore()+"\n"+ 359 " 数据库成绩:"+a[t].getDatabasescore()+"\n"+ 360 " 软件工程成绩:"+a[t].getSoftwarescore()+"\n"+ 361 "该学生的成绩已修改完毕,是否提交(Y/N)"); 362 b=sc.next(); 363 B=b; 364 if(b.compareTo("N")==0) { 365 } 366 else { 367 return; 368 } 369 System.out.println(""); 370 } 371 372 public static String menu21() { 373 String str; 374 System.out.println("*************************************************************** \n" + 375 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 376 " 学生考试成绩绩点计算 \n" + 377 "**************************************************************** \n" + 378 "请输入学生学号:"); 379 str=sc.next(); 380 System.out.println(""); 381 return str; 382 } 383 384 public static void show() { 385 String b; 386 System.out.println("*************************************************************** \n" + 387 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 388 " 学生考试成绩绩点计算 \n" + 389 "**************************************************************** \n" + 390 " 学生学号:"+a[t].getStunumber()+"\n"+ 391 " 学生姓名:"+a[t].getName()+"\n"+ 392 " 1.高等数学成绩绩点:"+r[0]+"\n"+ 393 " 2.大学英语成绩绩点:"+r[1]+"\n"+ 394 " 3.计算机网络成绩绩点:"+r[2]+"\n"+ 395 " 4.数据库成绩绩点:"+r[3]+"\n"+ 396 " 5.软件工程成绩绩点:"+r[4]); 397 if(pingjun()>=2) 398 System.out.println("你的学分绩点已达到毕业要求!"); 399 else 400 System.out.println("你的学分绩点不满足毕业要求!"); 401 System.out.println("是否返回系统主界面(Y/N)"); 402 b=sc.next(); 403 System.out.println(""); 404 if(b.equals("Y")) 405 return; 406 else 407 {} 408 } 409 410 public static void jidian() { 411 String s=menu21(); 412 int f=0; 413 for(int i=0;i<5;i++) { 414 if(s.equals(a[i].getStunumber())) { 415 t=i; 416 f=1; 417 r[0]=jidianJisuan(a[i].getMathematicsscore()); 418 r[1]=jidianJisuan(a[i].getEnglishiscore()); 419 r[2]=jidianJisuan(a[i].getNetworkscore()); 420 r[3]=jidianJisuan(a[i].getDatabasescore()); 421 r[4]=jidianJisuan(a[i].getSoftwarescore()); 422 show(); 423 break; 424 } 425 } 426 if(f==0) { 427 System.out.println("此学号不存在"); 428 jidian(); 429 } 430 } 431 432 public static double pingjun() { 433 double p1=0,p2=0,p=0.0; 434 p1=r[0]*4+r[1]*3+r[2]*4+r[3]*3+r[4]*2; 435 p2=16; 436 p=p1/p2; 437 return p; 438 } 439 440 public static double jidianJisuan(double j) { 441 double k=0.0; 442 if(j>=90) { 443 k=4.0; 444 return k; 445 } 446 if(j<60) { 447 k=0.0; 448 return k; 449 } 450 if(k>=72) { 451 if(k<=74.9) 452 k=2.3; 453 if(k<=77.9) 454 k=2.7; 455 if(k<=81.9) 456 k=3.0; 457 if(k<=84.9) 458 k=3.3; 459 if(k<=89.9) 460 k=3.7; 461 } 462 else { 463 if(k>=68) 464 k=2.0; 465 if(k>=66) 466 k=1.7; 467 if(k>=64) 468 k=1.5; 469 if(k>=60) 470 k=1.0; 471 } 472 return k; 473 } 474 475 public static void tuichu() { 476 System.out.println("*************************************************************** \n" + 477 "谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版\n"+ 478 " 制作人:胡一鸣\n"+ 479 "****************************************************************"); 480 } 481 482 public static void main(String[] args) { 483 fristcreate() ; 484 int c1=0; 485 c1=systemMenu(); 486 while(true){ 487 switch(c1) { 488 case 1:luru();break; 489 case 2:xiugai();break; 490 case 3:jidian();break; 491 case 4:tuichu();return; 492 default :System.out.println("该选项不存在");break; 493 } 494 c1=systemMenu(); 495 } 496 } 497 }
设计思路:
将实验要求中的几个功能分为几个部分,依次进行操作。并且定义几个函数,对于被多次输出内容的东西进行操作。在四个主部分中进行调用,以方便对其进行操作完成相应的功能。主要应用简单的判断语句。在主函数中代用相应的函数。
运行结果截图:
原文地址:https://www.cnblogs.com/best-hym/p/11509919.html
时间: 2024-11-09 15:31:53