石家庄铁道大学2019 年秋季 2018级JAVA课堂测试试卷(一)

题目

 

数据结构要求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)赋值。 
功能要求:
该系统完成学生成绩录入,修改,计算学分积点和查询学生成绩的简单
功能,定义 ScoreManagement 类完成下列功能。 
1、利用数组实现至少存储五个学生的信息; (将考生信息作为第一条记
录)。 
2、学生成绩管理系统的主界面如下图所示: 
①界面要求; 
***********************************************************
         石家庄铁道大学软件工程系 
         学生学籍管理系统 2019*********************************************************** 
           1、 学生考试成绩录入 
           2、 学生考试成绩修改 
           3、 计算学生成绩绩点 
           4、退出学籍管理系统 
********************************************************** 
②功能说明 
输入数字 1-4 执行相应的功能,输入其他数字提示错误信息(该选项
不存在),并返回主界面。 
2、成绩录入功能操作流程: 
①在主界面选择成绩录入功能后,进入成绩录入界面,如下图所示: 
***********************************************************
      石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
            学生考试成绩录入 
*********************************************************** 
          请输入学生学号:XXXXXXXX 
********************************************************** 
提示用户输入八位的学号。 
②用户输入学号后,显示用户学号和姓名,如果用户学号不存在或信息错
误提示错误信息(该学号不存在),并返回成绩录入界面。 
③用户输入学号正确如下图所示: 
***********************************************************
      石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
          学生考试成绩录入界面 
*********************************************************** 
            学生学号:20183557 
            学生姓名:杨雄豪 
         请输入高等数学成绩:XXX 
********************************************************** 
提示用户输入高等数学成绩,用户输入正确的数字;则提示用户输入大学 英语成绩,依次类推,提示用户录入计算机网络、数据库、软件工程成绩,当 用户录完所有成绩后,显示如下界面。
***********************************************************       石家庄铁道大学软件工程系学生学籍管理系统 2019 版             学生考试成绩录入 ***********************************************************          学生学号:20183557          学生姓名:杨雄豪          高等数学成绩:XXX          大学英语成绩:XXX          计算机网络成绩:XXX          数据库成绩:XXX          软件工程成绩:XXX       该学生成绩已录入完毕,是否提交(Y/N) ********************************************************** 选择“Y”将录入成绩保存到相应的数组中,并返回主界面。选择“N”, 则忽略上述成绩录入,并返回成绩录入界面。 3、成绩修改功能操作流程: ①在主界面选择成绩修改功能后,进入考试成绩修改界面,如下图所示: ***********************************************************       石家庄铁道大学软件工程系学生学籍管理系统 2019 版             学生考试成绩修改界面 ***********************************************************           请输入学生学号:XXXXXXXX ********************************************************** 提示用户输入八位的学号。 ②用户输入学号后,显示用户学号、姓名和全部成绩信息,如下图所示。 ***********************************************************     石家庄铁道大学软件工程系学生学籍管理系统 2019 版            学生考试成绩录入 ***********************************************************          学生学号:20183557           学生姓名:杨雄豪         1、高等数学成绩:XXX         2、大学英语成绩:XXX         3、计算机网络成绩:XXX         4、数据库成绩:XXX         5、软件工程成绩:XXX ********************************************************** 如果用户学号不存在或信息错误提示错误信息(该学号不存在),并返回 成绩修改界面。 ③用户选择相应的数字键,切换到如下界面(假如选择数字“5”)。 ***********************************************************     石家庄铁道大学软件工程系学生学籍管理系统 2019 版           学生考试成绩录入界面 ***********************************************************          学生学号:20183557           学生姓名:杨雄豪        请输入修改后软件工程成绩:XXX ********************************************************** 录入修改后的成绩,则进入下一步。 ***********************************************************     石家庄铁道大学软件工程系学生学籍管理系统 2019 版              学生考试成绩录入 ***********************************************************            学生学号:20183557            学生姓名:杨雄豪         1、高等数学成绩:XXX         2、大学英语成绩:XXX         3、计算机网络成绩:XXX         4、数据库成绩:XXX         5、软件工程成绩:XXX       该学生成绩已修改完毕,是否提交(Y/N) ********************************************************** 选择“Y”将修改后成绩保存到相应的数组中,并返回主界面。选择“N”, 则忽略上述成绩录入,并返回成绩修改界面。 3、计算学生成绩绩点功能操作流程: ①在主界面选择计算学生成绩绩点功能后,进入计算学生成绩绩点界面, 如下图所示: ***********************************************************       石家庄铁道大学软件工程系学生学籍管理系统 2019 版            学生考试成绩绩点计算界面 ***********************************************************          请输入学生学号:XXXXXXXX ********************************************************** 提示用户输入八位的学号。 ②用户输入学号后,显示用户学号、姓名、学分绩点、提示信息。如下图 所示。 ***********************************************************     石家庄铁道大学软件工程系学生学籍管理系统 2019 版           学生考试成绩绩点计算界面 ***********************************************************           学生学号:20183557           学生姓名:杨雄豪         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”,无操作。 

4、用户选择数字“4”, 显示如下界面,退出当前程序。 
***********************************************************
  谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
          制作人:考生姓名 
***********************************************************

分析

题目的第一个类仅需要创建2个公有成员变量和4个私有成员变量并创建对应的setter和getter,可使用source选项下的自动创建setter与getter的选项自动生成。第二个类中包含了很多方法,首先每个方法都有菜单模板,可以创建函数来存储模板。其次是方法中有很多循环,可以用while(true)语句执行,并在条件合适的情况下使用break语句退出循环。每个方法都用函数实现,在主函数中使用switch语句根据输入调用相应的函数并最终输出即可。

可能出现的问题:

(1)由于函数中存在许多循环和条件判断,注意嵌套时的逻辑问题。

(2)注意平均学分绩点要保留2为小数,语法为:String.format(".%2f",x)。

(3)String类型读入时.next()和.nextLine()的区别在于.next()以空格和回车为间断区分字符串而.nextLine()只以回车为间断。

(4)如果用对象数组存取数据的话,要注意数组的初始化和数组元素中的对象的初始化是要分别进行的,即创建数组之后,存取数据时对每个元素要分别进行对象初始化,否则将会出现空指针错误。

源代码

ScoreInformation类

 1 public class ScoreInformation {
 2     String stunumber;
 3     String name;
 4     private double mathematicsscore;
 5     private double englishiscore;
 6     private double networkscore;
 7     private double databasescore;
 8     private double softwarescore;
 9     public String getStunumber() {
10         return stunumber;
11     }
12     public void setStunumber(String stunumber) {
13         this.stunumber = stunumber;
14     }
15     public String getName() {
16         return name;
17     }
18     public void setName(String name) {
19         this.name = name;
20     }
21     public double getMathematicsscore() {
22         return mathematicsscore;
23     }
24     public void setMathematicsscore(double mathematicsscore) {
25         this.mathematicsscore = mathematicsscore;
26     }
27     public double getEnglishiscore() {
28         return englishiscore;
29     }
30     public void setEnglishiscore(double englishiscore) {
31         this.englishiscore = englishiscore;
32     }
33     public double getNetworkscore() {
34         return networkscore;
35     }
36     public void setNetworkscore(double networkscore) {
37         this.networkscore = networkscore;
38     }
39     public double getDatabasescore() {
40         return databasescore;
41     }
42     public void setDatabasescore(double databasescore) {
43         this.databasescore = databasescore;
44     }
45     public double getSoftwarescore() {
46         return softwarescore;
47     }
48     public void setSoftwarescore(double softwarescore) {
49         this.softwarescore = softwarescore;
50     }
51 }

ScoreManagement类

  1 import java.util.Scanner;
  2 
  3 public class ScoreManagement {
  4     static ScoreInformation n[]=new ScoreInformation[5];
  5     static int k=5;
  6     static Scanner in = new Scanner(System.in);
  7     public static void setting()    //赋初值
  8     {
  9         n[0] = new ScoreInformation();
 10         n[0].setStunumber("20183713");
 11         n[0].setName("庞家恒");
 12         n[1] = new ScoreInformation();
 13         n[1].setStunumber("20183766");
 14         n[1].setName("ABC");
 15         n[2] = new ScoreInformation();
 16         n[2].setStunumber("20183777");
 17         n[2].setName("DEF");
 18         n[3] = new ScoreInformation();
 19         n[3].setStunumber("20183788");
 20         n[3].setName("GHI");
 21         n[4] = new ScoreInformation();
 22         n[4].setStunumber("20183799");
 23         n[4].setName("JKL");
 24     }
 25     public static void list()    //菜单
 26     {
 27         System.out.println("***********************************************************");
 28         System.out.println("                  石家庄铁道大学软件工程系  ");
 29         System.out.println("                  学生学籍管理系统 2019 版 ");
 30         System.out.println("**********************************************************");
 31         System.out.println("                  1、 学生考试成绩录入 ");
 32         System.out.println("                  2、 学生考试成绩修改 ");
 33         System.out.println("                  3、 计算学生成绩绩点");
 34         System.out.println("                  4、退出学籍管理系统 ");
 35         System.out.println("********************************************************** ");
 36     }
 37     public static void inputlist1()    //成绩录入界面模板1
 38     {
 39         System.out.println("***********************************************************");
 40         System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
 41         System.out.println("                  学生考试成绩录入");
 42         System.out.println("*********************************************************** ");
 43     }
 44     public static void inputlist2()    //成绩录入界面模板2
 45     {
 46         System.out.println("***********************************************************");
 47         System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
 48         System.out.println("                  学生考试成绩录入界面 ");
 49         System.out.println("*********************************************************** ");
 50     }
 51     public static void input()    //成绩录入功能实现
 52     {
 53         while(true)
 54         {
 55             String stunumber;
 56             double mathematicsscore,englishiscore,networkscore,databasescore,softwarescore;
 57             int a=0;
 58             boolean t = true;
 59             String b;
 60             while(t)    //读入学号并判断是否正确
 61             {
 62                 inputlist1();
 63                 System.out.println("             请输入学生学号:XXXXXXXX ");
 64                 System.out.println("*********************************************************** ");
 65                 stunumber = in.next();
 66                 for(int i=0;i<k;i++)    //判断学号是存在
 67                 {
 68                     if(stunumber.equals(n[i].getStunumber()))
 69                     {
 70                         a = i;
 71                         t = false;
 72                         break;
 73                     }
 74                     if(i==k-1)
 75                     {
 76                         System.out.println("该学号不存在请重新输入");
 77                     }
 78                 }
 79             }
 80             while(true)    //读入高等数学成绩
 81             {
 82                 inputlist2();
 83                 System.out.println("                     学生学号:"+n[a].getStunumber());
 84                 System.out.println("                      学生姓名:"+n[a].getName());
 85                 System.out.println("                 请输入高等数学成绩:XXX ");
 86                 System.out.println("**********************************************************");
 87                 mathematicsscore = in.nextDouble();
 88                 if(mathematicsscore>=0&&mathematicsscore<=100)
 89                 {
 90                         break;
 91                 }
 92                 else
 93                 {
 94                     System.out.println("成绩无效请重新输入");
 95                 }
 96             }
 97             while(true)    //读入大学英语成绩
 98             {
 99                 inputlist2();
100                 System.out.println("                     学生学号:"+n[a].getStunumber());
101                 System.out.println("                      学生姓名:"+n[a].getName());
102                 System.out.println("                    高等数学成绩:"+mathematicsscore);
103                 System.out.println("                 请输入大学英语成绩:XXX ");
104                 System.out.println("**********************************************************");
105                 englishiscore = in.nextDouble();
106                 if(englishiscore>=0&&englishiscore<=100)
107                 {
108                         break;
109                 }
110                 else
111                 {
112                     System.out.println("成绩无效请重新输入");
113                 }
114             }
115             while(true)    //读入计算机网络成绩
116             {
117                 inputlist2();
118                 System.out.println("                     学生学号:"+n[a].getStunumber());
119                 System.out.println("                      学生姓名:"+n[a].getName());
120                 System.out.println("                    高等数学成绩:"+mathematicsscore);
121                 System.out.println("                    大学英语成绩:"+englishiscore);
122                 System.out.println("                请输入计算机网络成绩:XXX ");
123                 System.out.println("**********************************************************");
124                 networkscore = in.nextDouble();
125                 if(networkscore>=0&&networkscore<=100)
126                 {
127                         break;
128                 }
129                 else
130                 {
131                     System.out.println("成绩无效请重新输入");
132                 }
133             }
134             while(true)    //读入数据库成绩
135             {
136                 inputlist2();
137                 System.out.println("                     学生学号:"+n[a].getStunumber());
138                 System.out.println("                      学生姓名:"+n[a].getName());
139                 System.out.println("                    高等数学成绩:"+mathematicsscore);
140                 System.out.println("                    大学英语成绩:"+englishiscore);
141                 System.out.println("                   计算机网络成绩:"+networkscore);
142                 System.out.println("                  请输入数据库成绩:XXX ");
143                 System.out.println("**********************************************************");
144                 databasescore = in.nextDouble();
145                 if(databasescore>=0&&databasescore<=100)
146                 {
147                     break;
148                 }
149                 else
150                 {
151                     System.out.println("成绩无效请重新输入");
152                 }
153             }
154             while(true)    //读入软件工程成绩
155             {
156                 inputlist2();
157                 System.out.println("                     学生学号:"+n[a].getStunumber());
158                 System.out.println("                      学生姓名:"+n[a].getName());
159                 System.out.println("                    高等数学成绩:"+mathematicsscore);
160                 System.out.println("                    大学英语成绩:"+englishiscore);
161                 System.out.println("                   计算机网络成绩:"+networkscore);
162                 System.out.println("                     数据库成绩:"+databasescore);
163                 System.out.println("                 请输入软件工程成绩:XXX ");
164                 System.out.println("**********************************************************");
165                 softwarescore = in.nextDouble();
166                 if(softwarescore>=0&&softwarescore<=100)
167                 {
168                         break;
169                 }
170                 else
171                 {
172                     System.out.println("成绩无效请重新输入");
173                 }
174             }
175             inputlist2();
176             System.out.println("                     学生学号:"+n[a].getStunumber());
177             System.out.println("                      学生姓名:"+n[a].getName());
178             System.out.println("                    高等数学成绩:"+mathematicsscore);
179             System.out.println("                    大学英语成绩:"+englishiscore);
180             System.out.println("                   计算机网络成绩:"+networkscore);
181             System.out.println("                     数据库成绩:"+databasescore);
182             System.out.println("                    软件工程成绩:"+softwarescore);
183             System.out.println("            该学生成绩已录入完毕,是否提交(Y/N)");
184             System.out.println("**********************************************************");
185             b = in.next();
186             if(b.equals("Y"))    //判断成绩是否提交
187             {
188                 n[a].setMathematicsscore(mathematicsscore);
189                 n[a].setEnglishiscore(englishiscore);
190                 n[a].setNetworkscore(networkscore);
191                 n[a].setDatabasescore(databasescore);
192                 n[a].setSoftwarescore(softwarescore);
193                 break;
194             }
195         }
196     }
197     public static void changelist()    //成绩修改菜单模板
198     {
199         System.out.println("***********************************************************");
200         System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
201         System.out.println("                  学生考试成绩修改界面 ");
202         System.out.println("***********************************************************");
203     }
204     public static void showscore(int a)
205     {
206         inputlist1();
207         System.out.println("                     学生学号:"+n[a].getStunumber());
208         System.out.println("                      学生姓名:"+n[a].getName());
209         System.out.println("                   1、高等数学成绩:"+n[a].getMathematicsscore());
210         System.out.println("                   2、大学英语成绩:"+n[a].getEnglishiscore());
211         System.out.println("                  3、计算机网络成绩:"+n[a].getNetworkscore());
212         System.out.println("                    4、数据库成绩:"+n[a].getDatabasescore());
213         System.out.println("                   5、软件工程成绩:"+n[a].getSoftwarescore());
214         System.out.println("**********************************************************");
215     }
216     public static void change()    //成绩修改功能实现
217     {
218         String stunumber;
219         boolean t = true;
220         double mathematicsscore,englishiscore,networkscore,databasescore,softwarescore;
221         int a=0;
222         int b=0;
223         String c;
224         while(t)    //读入学号并判断是否正确
225         {
226             changelist();
227             System.out.println("             请输入学生学号:XXXXXXXX ");
228             System.out.println("*********************************************************** ");
229             stunumber = in.next();
230             for(int i=0;i<k;i++)    //判断学号是存在
231             {
232                 if(stunumber.equals(n[i].getStunumber()))
233                 {
234                     a = i;
235                     t = false;
236                     break;
237                 }
238                 if(i==k-1)
239                 {
240                     System.out.println("该学号不存在请重新输入");
241                 }
242             }
243         }
244         mathematicsscore = n[a].getMathematicsscore();
245         englishiscore = n[a].getEnglishiscore();
246         networkscore = n[a].getNetworkscore();
247         databasescore = n[a].getDatabasescore();
248         softwarescore = n[a].getSoftwarescore();
249         while(true)
250         {
251             showscore(a);
252             b = in.nextInt();
253             if((b<=0)&&(b>5))
254                 System.out.println("输入错误请重新输入");
255             else
256             {
257                 switch(b)
258                 {
259                     case 1:{
260                         while(true)
261                         {
262                             inputlist2();
263                             System.out.println("                     学生学号:"+n[a].getStunumber());
264                             System.out.println("                      学生姓名:"+n[a].getName());
265                             System.out.println("                请输入修改后的高等数学成绩:XXX");
266                             mathematicsscore = in.nextDouble();
267                             if(mathematicsscore>=0&&mathematicsscore<=100)
268                             {
269                                     break;
270                             }
271                             else
272                             {
273                                 System.out.println("成绩无效请重新输入");
274                             }
275                         }
276                         break;
277                     }
278                     case 2:{
279                         while(true)
280                         {
281                             inputlist2();
282                             System.out.println("                     学生学号:"+n[a].getStunumber());
283                             System.out.println("                      学生姓名:"+n[a].getName());
284                             System.out.println("                请输入修改后的大学英语成绩:XXX");
285                             englishiscore = in.nextDouble();
286                             if((englishiscore>=0)&&(englishiscore<=100))
287                             {
288                                 break;
289                             }
290                             else
291                             {
292                                 System.out.println("成绩无效请重新输入");
293                             }
294                         }
295                         break;
296                     }
297                     case 3:{
298                         inputlist2();
299                         System.out.println("                     学生学号:"+n[a].getStunumber());
300                         System.out.println("                      学生姓名:"+n[a].getName());
301                         System.out.println("               请输入修改后的计算机网络成绩:XXX");
302                         networkscore = in.nextDouble();
303                         if((networkscore>=0)&&(networkscore<=100))
304                         {
305                             break;
306                         }
307                         else
308                         {
309                             System.out.println("成绩无效请重新输入");
310                         }
311                     }
312                     case 4:{
313                         inputlist2();
314                         System.out.println("                     学生学号:"+n[a].getStunumber());
315                         System.out.println("                      学生姓名:"+n[a].getName());
316                         System.out.println("                 请输入修改后的数据库成绩:XXX");
317                         databasescore = in.nextDouble();
318                         if((databasescore>=0)&&(databasescore<=100))
319                         {
320                             break;
321                         }
322                         else
323                         {
324                             System.out.println("成绩无效请重新输入");
325                         }
326                     }
327                     case 5:{
328                         inputlist2();
329                         System.out.println("                     学生学号:"+n[a].getStunumber());
330                         System.out.println("                      学生姓名:"+n[a].getName());
331                         System.out.println("                请输入修改后的软件工程成绩:XXX");
332                         softwarescore = in.nextDouble();
333                         if((softwarescore>=0)&&(softwarescore<=100))
334                         {
335                             break;
336                         }
337                         else
338                         {
339                             System.out.println("成绩无效请重新输入");
340                         }
341                     }
342                 }
343             }
344             inputlist1();
345             System.out.println("                     学生学号:"+n[a].getStunumber());
346             System.out.println("                      学生姓名:"+n[a].getName());
347             System.out.println("                  1、高等数学成绩:"+mathematicsscore);
348             System.out.println("                  2、大学英语成绩:"+englishiscore);
349             System.out.println("                 3、计算机网络成绩:"+networkscore);
350             System.out.println("                  4、 数据库成绩:"+databasescore);
351             System.out.println("                  5、软件工程成绩:"+softwarescore);
352             System.out.println("            该学生成绩已修改完毕,是否提交(Y/N) ");
353             System.out.println("**********************************************************");
354             c = in.next();
355             if(c.equals("Y"))
356             {
357                 n[a].setMathematicsscore(mathematicsscore);
358                 n[a].setEnglishiscore(englishiscore);
359                 n[a].setNetworkscore(networkscore);
360                 n[a].setDatabasescore(databasescore);
361                 n[a].setSoftwarescore(softwarescore);
362                 break;
363             }
364         }
365     }
366     public static void gpalist()    //绩点菜单模板
367     {
368         System.out.println("**********************************************************");
369         System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
370         System.out.println("                  学生考试成绩绩点计算界面 ");
371         System.out.println("**********************************************************");
372     }
373     public static void gpa()    //计算学分绩点
374     {
375         boolean t = true;
376         String stunumber;
377         double mathematicsscore,englishiscore,networkscore,databasescore,softwarescore;
378         double average;
379         int a=0;
380         while(t)    //读入学号并判断是否正确
381         {
382             gpalist();
383             System.out.println("             请输入学生学号:XXXXXXXX ");
384             System.out.println("*********************************************************** ");
385             stunumber = in.next();
386             for(int i=0;i<k;i++)    //判断学号是存在
387             {
388                 if(stunumber.equals(n[i].getStunumber()))
389                 {
390                     a = i;
391                     t = false;
392                     break;
393                 }
394                 if(i==k-1)
395                 {
396                     System.out.println("该学号不存在请重新输入");
397                 }
398             }
399         }
400         if(n[a].getMathematicsscore()>=90)    //计算绩点
401             mathematicsscore = 4;
402         else if(n[a].getMathematicsscore()>=85)
403             mathematicsscore = 3.7;
404         else if(n[a].getMathematicsscore()>=82)
405             mathematicsscore = 3.3;
406         else if(n[a].getMathematicsscore()>=78)
407             mathematicsscore = 3;
408         else if(n[a].getMathematicsscore()>=75)
409             mathematicsscore = 2.7;
410         else if(n[a].getMathematicsscore()>=72)
411             mathematicsscore = 2.3;
412         else if(n[a].getMathematicsscore()>=68)
413             mathematicsscore = 2;
414         else if(n[a].getMathematicsscore()>=66)
415             mathematicsscore = 1.7;
416         else if(n[a].getMathematicsscore()>=64)
417             mathematicsscore = 1.5;
418         else if(n[a].getMathematicsscore()>=60)
419             mathematicsscore = 1;
420         else 
421             mathematicsscore = 0;
422         if(n[a].getEnglishiscore()>=90)
423             englishiscore = 4;
424         else if(n[a].getEnglishiscore()>=85)
425             englishiscore = 3.7;
426         else if(n[a].getEnglishiscore()>=82)
427             englishiscore = 3.3;
428         else if(n[a].getEnglishiscore()>=78)
429             englishiscore = 3;
430         else if(n[a].getEnglishiscore()>=75)
431             englishiscore = 2.7;
432         else if(n[a].getEnglishiscore()>=72)
433             englishiscore = 2.3;
434         else if(n[a].getEnglishiscore()>=68)
435             englishiscore = 2;
436         else if(n[a].getEnglishiscore()>=66)
437             englishiscore = 1.7;
438         else if(n[a].getEnglishiscore()>=64)
439             englishiscore = 1.5;
440         else if(n[a].getEnglishiscore()>=60)
441             englishiscore = 1;
442         else 
443             englishiscore = 0;
444         if(n[a].getNetworkscore()>=90)
445             networkscore = 4;
446         else if(n[a].getNetworkscore()>=85)
447             networkscore = 3.7;
448         else if(n[a].getNetworkscore()>=82)
449             networkscore = 3.3;
450         else if(n[a].getNetworkscore()>=78)
451             networkscore = 3;
452         else if(n[a].getNetworkscore()>=75)
453             networkscore = 2.7;
454         else if(n[a].getNetworkscore()>=72)
455             networkscore = 2.3;
456         else if(n[a].getNetworkscore()>=68)
457             networkscore = 2;
458         else if(n[a].getNetworkscore()>=66)
459             networkscore = 1.7;
460         else if(n[a].getNetworkscore()>=64)
461             networkscore = 1.5;
462         else if(n[a].getNetworkscore()>=60)
463             networkscore = 1;
464         else 
465             networkscore = 0;
466         if(n[a].getDatabasescore()>=90)
467             databasescore = 4;
468         else if(n[a].getDatabasescore()>=85)
469             databasescore = 3.7;
470         else if(n[a].getDatabasescore()>=82)
471             databasescore = 3.3;
472         else if(n[a].getDatabasescore()>=78)
473             databasescore = 3;
474         else if(n[a].getDatabasescore()>=75)
475             databasescore = 2.7;
476         else if(n[a].getDatabasescore()>=72)
477             databasescore = 2.3;
478         else if(n[a].getDatabasescore()>=68)
479             databasescore = 2;
480         else if(n[a].getDatabasescore()>=66)
481             databasescore = 1.7;
482         else if(n[a].getDatabasescore()>=64)
483             databasescore = 1.5;
484         else if(n[a].getDatabasescore()>=60)
485             databasescore = 1;
486         else 
487             databasescore = 0;
488         if(n[a].getSoftwarescore()>=90)
489             softwarescore = 4;
490         else if(n[a].getSoftwarescore()>=85)
491             softwarescore = 3.7;
492         else if(n[a].getSoftwarescore()>=82)
493             softwarescore = 3.3;
494         else if(n[a].getSoftwarescore()>=78)
495             softwarescore = 3;
496         else if(n[a].getSoftwarescore()>=75)
497             softwarescore = 2.7;
498         else if(n[a].getSoftwarescore()>=72)
499             softwarescore = 2.3;
500         else if(n[a].getSoftwarescore()>=68)
501             softwarescore = 2;
502         else if(n[a].getSoftwarescore()>=66)
503             softwarescore = 1.7;
504         else if(n[a].getSoftwarescore()>=64)
505             softwarescore = 1.5;
506         else if(n[a].getSoftwarescore()>=60)
507             softwarescore = 1;
508         else 
509             softwarescore = 0;
510         average = ((4*mathematicsscore)+(3*englishiscore)+(4*networkscore)
511                 +(3*databasescore)+(2*softwarescore))/(4+3+4+3+2);
512         while(true)
513         {
514             String x;
515             gpalist();
516             System.out.println("                     学生学号:"+n[a].getStunumber());
517             System.out.println("                      学生姓名:"+n[a].getName());
518             System.out.println("                1、高等数学成绩绩点:"+mathematicsscore);
519             System.out.println("                2、大学英语成绩绩点:"+englishiscore);
520             System.out.println("               3、计算机网络成绩绩点:"+networkscore);
521             System.out.println("                4、 数据库成绩绩点:"+databasescore);
522             System.out.println("                5、软件工程成绩绩点:"+softwarescore);
523             System.out.println("                 你的平均学分绩点为:"+String.format("%.2f", average));
524             if(average>=2)
525                 System.out.println("         提示信息:你的学分绩点已达到毕业要求! ");
526             else
527                 System.out.println("         提示信息:你的学分绩点不满足毕业要求! ");
528             System.out.println("            是否返回系统主界面:(Y/N) ");
529             System.out.println("**********************************************************");
530             x = in.next();
531             if(x.equals("Y"))
532                 break;
533         }
534     }
535     public static void end()    //结束信息
536     {
537         System.out.println("**********************************************************");
538         System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
539         System.out.println("                 制作人:庞家恒");
540         System.out.println("**********************************************************");
541     }
542     
543     public static void main(String[] args) {
544         setting();
545         boolean t = true;
546         int a;
547         while(t)
548         {
549             list();
550             a = in.nextInt();
551             switch (a) {
552                 case 1:{
553                     input();
554                     break;
555                     }
556                 case 2:{
557                     change();
558                     break;
559                     }
560                 case 3:{
561                     gpa();
562                     break;
563                     }
564                 case 4:{
565                     end();
566                     t = false;
567                     break;
568                 }
569                 default:{
570                     System.out.println("输入有误请重新输入");
571                     break;
572                     }
573             }
574         }
575     }
576 
577 }

样例

 

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/52bb/p/11507119.html