Java学生成绩绩点管理系统

一、考试要求:
1、按照测试内容要求完成程序的设计与编程;
2、建立学号姓名文件夹,如:“信 1805-1 班 20180001 XXX”,将源程序文件保存在文件夹中,压缩成 rar 文件提交。
3、以班级为单位上交最终考试结果。
4、需要在程序开始的注释中注明班级、学号、姓名。
二、数据结构要求:(5 分)
1、定义 ScoreInformation 类,其中包括七个私有变量(stunumber,name, mathematicsscore, englishiscore,networkscore, databasescore,softwarescore)。
各成员的含义如下:
变量 stunumber 为字符串类型 String,用于存储学生的学号(有 8 位数字组成)。
变量 name 为字符串类型 String,用于存储学生的姓名。
变量 mathematicsscore 为 double 类型,用于存储学生的高等数学成绩,高等数学的学分为 4 分。
变量 englishiscore 为 double 类型,用于存储学生的大学英语成绩,大学英语的学分为 3 分。
变量 networkscore 为 double 类型,用于存储学生的计算机网络成绩,计算机网络的学分为 4 分。
变量 databasescore 为 double 类型,用于存储学生的数据库成绩,数据库的学分为 3 分。
变量 softwarescore 为 double 类型,用于存储学生的软件工程成绩,软件工程的学分为 2 分。
对每个变量定义 get()(读取变量信息)和 set()(设置变量信息)的方法。
2 、 赋 初 值 方 法 包 括 七 个 参 数 , 用 于 为 变 量 (stunumber ,name, mathematicsscore, englishiscore,networkscore, databasescore,softwarescore)赋值。
三、功能要求:(10 分)
该系统完成学生成绩录入,修改,计算学分积点和查询学生成绩的简单功能,定义 ScoreManagement 类完成下列功能。
1、利用数组实现至少存储五个学生的信息; (将考生信息作为第一条记录)。(1 分)
2、学生成绩管理系统的主界面如下图所示:(1 分)
①界面要求;(0.5 分)
***********************************************************
石家庄铁道大学软件工程系
学生学籍管理系统 2019 版
***********************************************************
1、 学生考试成绩录入
2、 学生考试成绩修改
3、 计算学生成绩绩点
4、退出学籍管理系统
**********************************************************
②功能说明输入数字 1-4 执行相应的功能,输入其他数字提示错误信息(该选项不存在),并返回主界面。(0.5 分)
2、成绩录入功能操作流程:(3 分)
①在主界面选择成绩录入功能后,进入成绩录入界面,如下图所示:(0.5分)
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩录入
***********************************************************
请输入学生学号:XXXXXXXX
**********************************************************
提示用户输入八位的学号。
②用户输入学号后,显示用户学号和姓名,如果用户学号不存在或信息错误提示错误信息(该学号不存在),并返回成绩录入界面。(0.5 分)
③用户输入学号正确如下图所示:
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩录入界面
***********************************************************
学生学号:20180001
学生姓名:XXX
请输入高等数学成绩:XXX
**********************************************************
提示用户输入高等数学成绩,用户输入正确的数字;则提示用户输入大学英语成绩,依次类推,提示用户录入计算机网络、数据库、软件工程成绩,当第 3 页 共 8 页用户录完所有成绩后,显示如下界面。(1.5 分)
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩录入
***********************************************************
学生学号:20180001
学生姓名:XXX
高等数学成绩:XXX
大学英语成绩:XXX
计算机网络成绩:XXX
数据库成绩:XXX
软件工程成绩:XXX
该学生成绩已录入完毕,是否提交(Y/N)
**********************************************************
选择“Y”将录入成绩保存到相应的数组中,并返回主界面。选择“N”,则忽略上述成绩录入,并返回成绩录入界面。(0.5 分)
3、成绩修改功能操作流程:(2 分)
①在主界面选择成绩修改功能后,进入考试成绩修改界面,如下图所示:
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩修改界面
***********************************************************
请输入学生学号:XXXXXXXX
**********************************************************
提示用户输入八位的学号。(0.5 分)
②用户输入学号后,显示用户学号、姓名和全部成绩信息,如下图所示。
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩录入
***********************************************************
学生学号:20180001
学生姓名:XXX
1、高等数学成绩:XXX
2、大学英语成绩:XXX
3、计算机网络成绩:XXX
4、数据库成绩:XXX
5、软件工程成绩:XXX
**********************************************************
如果用户学号不存在或信息错误提示错误信息(该学号不存在),并返回成绩修改界面。(0.5 分)
③用户选择相应的数字键,切换到如下界面(假如选择数字“5”)。(0.5分)
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩录入界面
***********************************************************
学生学号:20180001
学生姓名:XXX
请输入修改后软件工程成绩:XXX
**********************************************************
录入修改后的成绩,则进入下一步。
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩录入
***********************************************************
学生学号:20180001
学生姓名:XXX
1、高等数学成绩:XXX
2、大学英语成绩:XXX
3、计算机网络成绩:XXX
4、数据库成绩:XXX
5、软件工程成绩:XXX
该学生成绩已修改完毕,是否提交(Y/N)
**********************************************************
选择“Y”将修改后成绩保存到相应的数组中,并返回主界面。选择“N”,则忽略上述成绩录入,并返回成绩修改界面。(0.5 分)
3、计算学生成绩绩点功能操作流程:(2 分)
①在主界面选择计算学生成绩绩点功能后,进入计算学生成绩绩点界面,如下图所示:
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩绩点计算界面
***********************************************************
请输入学生学号:XXXXXXXX
**********************************************************
第 6 页 共 8 页提示用户输入八位的学号。
②用户输入学号后,显示用户学号、姓名、学分绩点、提示信息。如下图所示。(1.5 分)
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩绩点计算界面
***********************************************************
学生学号:20180001
学生姓名:XXX
1、高等数学成绩绩点:XXX
2、大学英语成绩绩点:XXX
3、计算机网络成绩绩点:XXX
4、数据库成绩绩点:XXX
5、软件工程成绩绩点:XXX
你的平均学分绩点为:XXX
提示信息:XXX XXX XXX XXX XXX XXX XXX
是否返回系统主界面:(Y/N)
**********************************************************
如果学分绩点大于等于 2,提示信息显示“你的学分绩点已达到毕业要求!”;
如果学分绩点小于 2,提示信息显示“你的学分绩点不满足毕业要求!”
学分绩点计算方法:
(1) 百分制对应绩点
分数   ≥90   85~89.9    82~84.9   78~81.9   75~77.9   72~74.9    68~71.9   66~67.9   64~65.9   60~63.9   <60
绩点   4.0         3.7             3.3            3.0              2.7             2.3            2.0             1.7               1.5          1.0            0
(2)平均学分计算方法
平均学分绩点=∑ ( 课程绩点× 该课程学分) /∑ 课程学分
计算平均学分绩点按四舍五入原则, 小数点后保留两位有效数字。
③选择“Y”返回系统主界面。选择“N”,无操作。(0.5 分)
4、用户选择数字“4”,显示如下界面,退出当前程序。(1 分)
***********************************************************
谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版
制作人:考生姓名
***********************************************************
 
 
以下为实现部分:
 
 1 /*
 2  * 班级:信1805-1
 3  * 学号:20183566
 4  * 姓名:董奥
 5  * */
 6 
 7 public class ScoreInformation {
 8     private String stunumber;
 9     private String name;
10     private double mathematicsscore;
11     private double englishiscore;
12     private double networkscore;
13     private double databasescore;
14     private double softwarescore;
15     //定义 get()(读取变量信息)和 set()(设置变量信息)的方法
16     public void setStunumber(String stunumber) {
17         this.stunumber=stunumber;
18     }
19     public String getStunumber() {
20         return stunumber;
21     }
22     public void setName(String name) {
23         this.name=name;
24     }
25     public String getName() {
26         return name;
27     }
28     public void setMathematicsscore(double mathematicsscore) {
29         this.mathematicsscore=mathematicsscore;
30     }
31     public double getMathematicsscore() {
32         return mathematicsscore;
33     }
34     public void setEnglishiscore(double englishiscore) {
35         this.englishiscore=englishiscore;
36     }
37     public double getEnglishiscore() {
38         return englishiscore;
39     }
40     public void setNetworkscore(double networkscore) {
41         this.networkscore=networkscore;
42     }
43     public double getNetworkscore() {
44         return networkscore;
45     }
46     public void setDatabasescore(double databasescore) {
47         this.databasescore=databasescore;
48     }
49     public double getDatabasescore() {
50         return databasescore;
51     }
52     public void setSoftwarescore(double softwarescore) {
53         this.softwarescore=softwarescore;
54     }
55     public double getSoftwarescore() {
56         return softwarescore;
57     }
58     public ScoreInformation(String stunumber,String name,double mathematicsscore,double englishiscore,double networkscore,double databasescore,double softwarescore) {
59         this.stunumber=stunumber;
60         this.name=name;
61         this.mathematicsscore=mathematicsscore;
62         this.englishiscore=englishiscore;
63         this.networkscore=networkscore;
64         this.databasescore=databasescore;
65         this.softwarescore=softwarescore;
66     }
67 //    public static void main(String[] args) {
68 //        ScoreInformation text=new ScoreInformation("20183566","董奥",1,2,3,4,5);
69 //        System.out.println(text.getDatabasescore());
70 //        System.out.println(text.getEnglishiscore());
71 //        System.out.println(text.getMathematicsscore());
72 //        System.out.println(text.getStunumber());
73 //    }
74 }
  1 import java.util.Scanner;
  2 public class ScoreManagement {
  3     static ScoreInformation Score1=new ScoreInformation("20180001","姓名1",0,0,0,0,0);
  4     static ScoreInformation Score2=new ScoreInformation("20180002","姓名2",0,0,0,0,0);
  5     static ScoreInformation Score3=new ScoreInformation("20180003","姓名3",0,0,0,0,0);
  6     static ScoreInformation Score4=new ScoreInformation("20180004","姓名4",0,0,0,0,0);
  7     static ScoreInformation Score5=new ScoreInformation("20180005","姓名5",0,0,0,0,0);
  8     static Scanner in=new Scanner(System.in);
  9     public static void menu(){
 10         System.out.println("***********************************************************");
 11         System.out.println("                                      石家庄铁道大学软件工程系");
 12         System.out.println("                                      学生学籍管理系统 2019 版");
 13         System.out.println("***********************************************************");
 14         System.out.println("                1、 学生考试成绩录入");
 15         System.out.println("                2、 学生考试成绩修改");
 16         System.out.println("                3、 计算学生成绩绩点");
 17         System.out.println("                4、退出学籍管理系统");
 18         System.out.println("**********************************************************");
 19         System.out.print("请输入:");
 20     }
 21     public static void totalMenu() {//总菜单
 22         int anss=0;
 23         while(anss!=4) {
 24             menu();
 25             anss=in.nextInt();
 26             if(anss==1) addScore();
 27             else if(anss==2) modifyScore();
 28             else if(anss==3) caculateScore();
 29             else if(anss==4);
 30             else 
 31                 System.out.println("该选项不存在");
 32         }
 33         System.out.println("退出成功");
 34         System.out.println("***********************************************************
" + 
 35                 "谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版
" + 
 36                 "制作人:董奥
" + 
 37                 "***********************************************************");
 38     }
 39     public static void addMenu() {
 40         System.out.println("***********************************************************");
 41         System.out.println("              石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
 42         System.out.println("                                    学生考试成绩录入");
 43         System.out.println("***********************************************************");
 44         System.out.print("                                    请输入学生学号:");
 45     }
 46     public static void addInterface(ScoreInformation h) {//录入成绩界面
 47         System.out.println("***********************************************************");
 48         System.out.println("                  石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
 49         System.out.println("                                          学生考试成绩录入界面");
 50         System.out.println("***********************************************************");
 51         System.out.println("学生学号:"+h.getStunumber());
 52         System.out.println("学生姓名:"+h.getName());
 53         System.out.println("请输入高等数学成绩:");
 54         double ans1=in.nextDouble();
 55         System.out.println("请输入大学英语成绩:");
 56         double ans2=in.nextDouble();
 57         System.out.println("请输入计算机网络成绩:");
 58         double ans3=in.nextDouble();
 59         System.out.println("请输入数据库成绩:");        
 60         double ans4=in.nextDouble();
 61         System.out.println("请输入软件工程成绩:");
 62         double ans5=in.nextDouble();    
 63         System.out.println("***********************************************************");
 64         System.out.println("                  石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
 65         System.out.println("                                          学生考试成绩录入界面");
 66         System.out.println("***********************************************************");
 67         System.out.println("学生学号:"+h.getStunumber());
 68         System.out.println("学生姓名:"+h.getName());
 69         System.out.println("高等数学成绩:"+ans1);
 70         System.out.println("大学英语成绩:"+ans2);
 71         System.out.println("计算机网络成绩:"+ans3);
 72         System.out.println("数据库成绩:"+ans4);
 73         System.out.println("软件工程成绩:"+ans5);
 74         System.out.print("该学生成绩已录入完毕,是否提交(Y/N)");
 75         String a=in.next();
 76         char s=a.charAt(0);
 77         if(s=='Y'||s=='y') {
 78             h.setMathematicsscore(ans1);        
 79             h.setEnglishiscore(ans2);    
 80             h.setNetworkscore(ans3);
 81             h.setDatabasescore(ans4);
 82             h.setSoftwarescore(ans5);
 83         }
 84         else
 85             addScore();
 86     }
 87     public static void addScore() {//录入成绩
 88         boolean flag=true;
 89         while(flag) {
 90             addMenu();
 91             String ans=in.next();//将输入的学号存入ans中
 92             if(ans.equals(Score1.getStunumber())) {//检查ans与那个Score相等
 93                 addInterface(Score1);
 94                 flag=false;
 95             }
 96             else if(ans.equals(Score2.getStunumber())) {
 97                 addInterface(Score2);
 98                 flag=false;
 99             }
100             else if(ans.equals(Score3.getStunumber())) {
101                 addInterface(Score3);
102                 flag=false;
103             }
104             else if(ans.equals(Score4.getStunumber())) {
105                 addInterface(Score4);
106                 flag=false;
107             }
108             else if(ans.equals(Score5.getStunumber())) {
109                 addInterface(Score5);
110                 flag=false;
111             }
112             else 
113                 System.out.println("该学号不存在1");
114         }
115     }
116     public static void modifyMenu() {
117         System.out.print("***********************************************************
" + 
118                 "                        石家庄铁道大学软件工程系学生学籍管理系统 2019 版
" + 
119                 "                                              学生考试成绩修改界面
" + 
120                 "***********************************************************
" + 
121                 "请输入学生学号:");        
122     }
123     public static void modifyInterface(ScoreInformation h) {
124         System.out.print("***********************************************************
" + 
125                 "                        石家庄铁道大学软件工程系学生学籍管理系统 2019 版
" + 
126                 "                                             学生考试成绩录入
" + 
127                 "***********************************************************
" + 
128                 "学生学号:"+h.getStunumber()+"
" + 
129                 "学生姓名:"+h.getName()+"
" + 
130                 "1、高等数学成绩:"+h.getMathematicsscore()+"
" + 
131                 "2、大学英语成绩:"+h.getEnglishiscore()+"
" + 
132                 "3、计算机网络成绩:"+h.getNetworkscore()+"
" + 
133                 "4、数据库成绩:"+h.getDatabasescore()+"
" + 
134                 "5、软件工程成绩:"+h.getSoftwarescore()+"
" + 
135                 "**********************************************************");
136         System.out.println("请选择修改内容:");
137         int ans=in.nextInt();//记录序号
138         double cmp;//记录接下来输入的成绩
139         String s;
140         char a;
141         switch(ans) {
142         case 1:
143             System.out.print("***********************************************************
" + 
144                     "                         石家庄铁道大学软件工程系学生学籍管理系统 2019 版
" + 
145                     "                                              学生考试成绩录入界面
" + 
146                     "***********************************************************
" + 
147                     "学生学号:"+h.getStunumber()+"
" + 
148                     "学生姓名:"+h.getName()+"
" + 
149                     "请输入修改后高等数学成绩:");
150             cmp=in.nextDouble();
151             System.out.println("***********************************************************
" + 
152                     "                         石家庄铁道大学软件工程系学生学籍管理系统 2019 版
" + 
153                     "                                              学生考试成绩录入
" + 
154                     "***********************************************************
" + 
155                     "学生学号:"+h.getStunumber()+"
" + 
156                     "学生姓名:"+h.getName()+"
" + 
157                     "1、高等数学成绩:"+cmp+"
" + 
158                     "2、大学英语成绩:"+h.getEnglishiscore()+"
" + 
159                     "3、计算机网络成绩:"+h.getNetworkscore()+"
" + 
160                     "4、数据库成绩:"+h.getDatabasescore()+"
" + 
161                     "5、软件工程成绩:"+h.getSoftwarescore()+"
" + 
162                     "该学生成绩已修改完毕,是否提交(Y/N)
" + 
163                     "**********************************************************");
164             s=in.next();
165             a=s.charAt(0);
166             if(a=='Y'||a=='y') h.setMathematicsscore(cmp);
167             break;
168         case 2:
169             System.out.print("***********************************************************
" + 
170                     "                           石家庄铁道大学软件工程系学生学籍管理系统 2019 版
" + 
171                     "                                              学生考试成绩录入界面
" + 
172                     "*************1**********************************************
" + 
173                     "学生学号:"+h.getStunumber()+"
" + 
174                     "学生姓名:"+h.getName()+"
" + 
175                     "请输入修改后大学英语成绩:");
176             cmp=in.nextDouble();
177             System.out.println("***********************************************************
" + 
178                     "                           石家庄铁道大学软件工程系学生学籍管理系统 2019 版
" + 
179                     "                                              学生考试成绩录入
" + 
180                     "***********************************************************
" + 
181                     "学生学号:"+h.getStunumber()+"
" + 
182                     "学生姓名:"+h.getName()+"
" + 
183                     "1、高等数学成绩:"+h.getMathematicsscore()+"
" + 
184                     "2、大学英语成绩:"+cmp+"
" + 
185                     "3、计算机网络成绩:"+h.getNetworkscore()+"
" + 
186                     "4、数据库成绩:"+h.getDatabasescore()+"
" + 
187                     "5、软件工程成绩:"+h.getSoftwarescore()+"
" + 
188                     "该学生成绩已修改完毕,是否提交(Y/N)
" + 
189                     "**********************************************************");
190             s=in.next();
191             a=s.charAt(0);
192             if(a=='Y'||a=='y') h.setEnglishiscore(cmp);
193             break;
194         case 3:
195             System.out.print("***********************************************************
" + 
196                     "                          石家庄铁道大学软件工程系学生学籍管理系统 2019 版
" + 
197                     "                                              学生考试成绩录入界面
" + 
198                     "***********************************************************
" + 
199                     "学生学号:"+h.getStunumber()+"
" + 
200                     "学生姓名:"+h.getName()+"
" + 
201                     "请输入修改后计算机网络成绩:");
202             cmp=in.nextDouble();
203             System.out.println("***********************************************************
" + 
204                     "                          石家庄铁道大学软件工程系学生学籍管理系统 2019 版
" + 
205                     "                                              学生考试成绩录入
" + 
206                     "***********************************************************
" + 
207                     "学生学号:"+h.getStunumber()+"
" + 
208                     "学生姓名:"+h.getName()+"
" + 
209                     "1、高等数学成绩:"+h.getMathematicsscore()+"
" + 
210                     "2、大学英语成绩:"+h.getEnglishiscore()+"
" + 
211                     "3、计算机网络成绩:"+cmp+"
" + 
212                     "4、数据库成绩:"+h.getDatabasescore()+"
" + 
213                     "5、软件工程成绩:"+h.getSoftwarescore()+"
" + 
214                     "该学生成绩已修改完毕,是否提交(Y/N)
" + 
215                     "**********************************************************");
216             s=in.next();
217             a=s.charAt(0);
218             if(a=='Y'||a=='y') h.setNetworkscore(cmp);
219             break;
220         case 4:
221             System.out.print("***********************************************************
" + 
222                     "石家庄铁道大学软件工程系学生学籍管理系统 2019 版
" + 
223                     "学生考试成绩录入界面
" + 
224                     "***********************************************************
" + 
225                     "学生学号:"+h.getStunumber()+"
" + 
226                     "学生姓名:"+h.getName()+"
" + 
227                     "请输入修改后数据库成绩:");
228             cmp=in.nextDouble();
229             System.out.println("***********************************************************
" + 
230                     "石家庄铁道大学软件工程系学生学籍管理系统 2019 版
" + 
231                     "学生考试成绩录入
" + 
232                     "***********************************************************
" + 
233                     "学生学号:"+h.getStunumber()+"
" + 
234                     "学生姓名:"+h.getName()+"
" + 
235                     "1、高等数学成绩:"+h.getMathematicsscore()+"
" + 
236                     "2、大学英语成绩:"+h.getEnglishiscore()+"
" + 
237                     "3、计算机网络成绩:"+h.getNetworkscore()+"
" + 
238                     "4、数据库成绩:"+cmp+"
" + 
239                     "5、软件工程成绩:"+h.getSoftwarescore()+"
" + 
240                     "该学生成绩已修改完毕,是否提交(Y/N)
" + 
241                     "**********************************************************");
242             s=in.next();
243             a=s.charAt(0);
244             if(a=='Y'||a=='y') h.setDatabasescore(cmp);
245             break;
246         case 5:
247             System.out.print("***********************************************************
" + 
248                     "石家庄铁道大学软件工程系学生学籍管理系统 2019 版
" + 
249                     "学生考试成绩录入界面
" + 
250                     "***********************************************************
" + 
251                     "学生学号:"+h.getStunumber()+"
" + 
252                     "学生姓名:"+h.getName()+"
" + 
253                     "请输入修改后软件工程成绩:");
254             cmp=in.nextDouble();
255             System.out.println("***********************************************************
" + 
256                     "石家庄铁道大学软件工程系学生学籍管理系统 2019 版
" + 
257                     "学生考试成绩录入
" + 
258                     "***********************************************************
" + 
259                     "学生学号:"+h.getStunumber()+"
" + 
260                     "学生姓名:"+h.getName()+"
" + 
261                     "1、高等数学成绩:"+h.getMathematicsscore()+"
" + 
262                     "2、大学英语成绩:"+h.getEnglishiscore()+"
" + 
263                     "3、计算机网络成绩:"+h.getNetworkscore()+"
" + 
264                     "4、数据库成绩:"+h.getDatabasescore()+"
" + 
265                     "5、软件工程成绩:"+cmp+"
" + 
266                     "该学生成绩已修改完毕,是否提交(Y/N)
" + 
267                     "**********************************************************");
268             s=in.next();
269             a=s.charAt(0);
270             if(a=='Y'||a=='y') h.setSoftwarescore(cmp);
271             break;
272         default:
273             System.out.println("输入序号错误");
274         }
275     }
276     public static void modifyScore() {//修改成绩
277         boolean flag=true;
278         while(flag) {
279             modifyMenu();
280             String ans=in.next();//将输入的学号存入ans中
281             if(ans.equals(Score1.getStunumber())) {
282                 modifyInterface(Score1);
283                 flag=false;
284             }
285             else if(ans.equals(Score2.getStunumber())) {
286                 modifyInterface(Score2);
287                 flag=false;
288             }
289             else if(ans.equals(Score3.getStunumber())) {
290                 modifyInterface(Score3);
291                 flag=false;
292             }
293             else if(ans.equals(Score4.getStunumber())) {
294                 modifyInterface(Score4);
295                 flag=false;
296             }
297             else if(ans.equals(Score5.getStunumber())) {
298                 modifyInterface(Score5);
299                 flag=false;
300             }
301             else 
302                 System.out.println("该学号不存在2");
303         }
304     }
305     public static void caculateMenu() {
306         System.out.println("***********************************************************
" + 
307                 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版
" + 
308                 "学生考试成绩绩点计算界面
" + 
309                 "***********************************************************
" + 
310                 "请输入学生学号:");
311     }
312     public static void caculateInterface(ScoreInformation h) {
313         double [] s=new double[5];//分别存储1--5五门学科成绩
314         s[0]=h.getMathematicsscore();
315         s[1]=h.getEnglishiscore();
316         s[2]=h.getNetworkscore();
317         s[3]=h.getDatabasescore();
318         s[4]=h.getSoftwarescore();
319         double[] result=new double[5];//分别存储1-5学科的绩点
320         double [] credit= {4,3,4,3,2};//存储各科学分
321         double sum=0;
322         for (int i = 0; i < s.length; i++) {
323             if(s[i]>=90) result[i]=4.0;
324             else if(s[i]>=85&&s[i]<90) result[i]=3.7;
325             else if(s[i]>=82&&s[i]<85) result[i]=3.3;
326             else if(s[i]>=78&&s[i]<82) result[i]=3.0;
327             else if(s[i]>=75&&s[i]<78) result[i]=2.7;
328             else if(s[i]>=72&&s[i]<75) result[i]=2.3;
329             else if(s[i]>=68&&s[i]<72) result[i]=2.0;
330             else if(s[i]>=66&&s[i]<68) result[i]=1.7;
331             else if(s[i]>=64&&s[i]<66) result[i]=1.5;
332             else if(s[i]>=60&&s[i]<64) result[i]=1.0;
333             else  result[i]=0;
334             sum+=result[i]*credit[i];
335         }
336         sum/=16;
337         boolean flag=true;
338         if(sum<2)
339             flag=false;
340             System.out.print("***********************************************************
" + 
341                 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版
" + 
342                 "学生考试成绩绩点计算界面
" + 
343                 "***********************************************************
" + 
344                 "学生学号:"+h.getStunumber()+"
" + 
345                 "学生姓名:"+h.getName()+"
" + 
346                 "1、高等数学成绩绩点:"+result[0]+"
" + 
347                 "2、大学英语成绩绩点:"+result[1]+"
" + 
348                 "3、计算机网络成绩绩点:"+result[2]+"
" + 
349                 "4、数据库成绩绩点:"+result[3]+"
" + 
350                 "5、软件工程成绩绩点:"+result[4]+"
" + 
351                 "你的平均学分绩点为:");
352             System.out.println(String.format("%.2f", sum));    //计算结果保留小数点后两位
353         if(flag)
354                 System.out.println("提示信息:你的学分绩点已达到毕业要求!");
355         else
356             System.out.println("你的学分绩点不满足毕业要求!");
357 
358                 System.out.println("是否返回系统主界面:(Y/N)");
359                 String a;
360                 char c='2';
361                 while(c!='Y'&&c!='y') {
362                     a=in.next();
363                     c=a.charAt(0);
364                 }
365     }
366     public static void caculateScore() {//计算学分绩点
367         boolean flag=true;
368         while(flag) {
369             caculateMenu();
370             String ans=in.next();//将输入的学号存入ans中
371             if(ans.equals(Score1.getStunumber())) {
372                 caculateInterface(Score1);
373                 flag=false;
374             }
375             else if(ans.equals(Score2.getStunumber())) {
376                 caculateInterface(Score2);
377                 flag=false;
378             }
379             else if(ans.equals(Score3.getStunumber())) {
380                 caculateInterface(Score3);
381                 flag=false;
382             }
383             else if(ans.equals(Score4.getStunumber())) {
384                 caculateInterface(Score4);
385                 flag=false;
386             }
387             else if(ans.equals(Score5.getStunumber())) {
388                 caculateInterface(Score5);
389                 flag=false;
390             }
391             else 
392                 System.out.println("该学号不存在3");
393         }
394     }
395     public static void main(String[] args) {
396         totalMenu();
397     }
398 }
原文地址:https://www.cnblogs.com/dongao/p/11505740.html