首页 > 技术文章 > 一个简单的学生成绩管理系统(用JAVA实现)

w669399221 2019-09-12 17:12 原文

本系统总共有四个功能,1,实现学生成绩的录入,且每次录入后界面会发生更改,我这里采用的方法比较笨,直接列举出了显示的页面,我想了想应该可以用if条件限定来简化操作的。

2.学生信息的修改,输入要修改的成绩序号,修改后会显示出来结果。

3.学生学分绩点的计算,用函数来实现绩点计算功能最后调用,在最后会输出你的绩点是否通过。

在前三个功能里都有是否录入的提示,选择是后会将成绩录入系统。

4.退出系统

在写的过程中我也遇到一些问题,但是错的都是一些很基础的错误(新手捂脸),第一个是Scanner类在循环时不能在循环体里面进行关闭操作,但之后我就没怎么关闭过Scanner。

第二个是创建对象数组进行数组元素的赋值时,要加上数组元素对象的创建操作,比如Student temp[0]=new Student();不然会报错,我当时纠结这个问题了一下午(捂脸)。

第三个是给字符串赋值时一般使用next(),别使用nextLine(),具体的他们的区别就是next()不会录入空格、tab、回车键,但nextLine()会,所以除非必要,在输入时一般选用next();

  1 package java3;
  2 
  3 import java.util.Scanner;
  4 
  5 public class ScoreInformation {
  6 private String stunumber,name;
  7 private double mathematicsscore,englishiscore,networkscore,databasescore,softwarescore;
  8 static ScoreInformation temp[]=new ScoreInformation[10];
  9 Scanner sr=new Scanner(System.in);
 10 public String getStunumber() {
 11     return stunumber;
 12 }
 13 public void setStunumber(String stunumber) {
 14     this.stunumber = stunumber;
 15 }
 16 public String getName() {
 17     return name;
 18 }
 19 public void setName(String name) {
 20     this.name = name;
 21 }
 22 public double getMathematicsscore() {
 23     return mathematicsscore;
 24 }
 25 public void setMathematicsscore(double mathematicsscore) {
 26     this.mathematicsscore = mathematicsscore;
 27 }
 28 public double getEnglishiscore() {
 29     return englishiscore;
 30 }
 31 public void setEnglishiscore(double englishiscore) {
 32     this.englishiscore = englishiscore;
 33 }
 34 public double getNetworkscore() {
 35     return networkscore;
 36 }
 37 public void setNetworkscore(double networkscore) {
 38     this.networkscore = networkscore;
 39 }
 40 public double getDatabasescore() {
 41     return databasescore;
 42 }
 43 public void setDatabasescore(double databasescore) {
 44     this.databasescore = databasescore;
 45 }
 46 public double getSoftwarescore() {
 47     return softwarescore;
 48 }
 49 public void setSoftwarescore(double softwarescore) {
 50     this.softwarescore = softwarescore;
 51 }
 52 void add()
 53 {
 54     for(int i=0;i<5;i++)
 55     {temp[i]=new ScoreInformation();
 56         temp[i].stunumber=sr.next();
 57         temp[i].name=sr.next();
 58     }
 59 }
 60 public void end()
 61 {
 62     System.out.println("***********************************************************");
 63     System.out.println("        谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
 64     System.out.println("                 制作人:海南之风");
 65     System.out.println("***********************************************************");
 66 }
 67 void creatScore()
 68 {    boolean c1=true;
 69     while(c1){
 70         c1=true;
 71     System.out.println("***********************************************************");
 72     System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
 73     System.out.println("                 学生考试成绩录入");
 74     System.out.println("***********************************************************");
 75     System.out.println("                 请输入学生学号:");
 76     System.out.println("***********************************************************");
 77     String num=sr.next();
 78     int a=0;
 79     for(int i=0;i<5;i++)
 80     {
 81         if(num.equals(temp[i].stunumber))
 82         {   a=1;
 83             System.out.println("***********************************************************");
 84             System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
 85             System.out.println("                 学生考试成绩录入");
 86             System.out.println("***********************************************************");
 87             System.out.println("                   学生学号:"+temp[i].stunumber);
 88             System.out.println("                   学生姓名:"+temp[i].name);
 89             System.out.println("                请输入高等数学成绩:");
 90             System.out.println("***********************************************************");
 91             double math=sr.nextDouble();
 92             System.out.println("***********************************************************");
 93             System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
 94             System.out.println("                 学生考试成绩录入");
 95             System.out.println("***********************************************************");
 96             System.out.println("                   学生学号:"+temp[i].stunumber);
 97             System.out.println("                   学生姓名:"+temp[i].name);
 98             System.out.println("                   高等数学成绩:"+math);
 99             System.out.println("                请输入大学英语成绩:");
100             System.out.println("***********************************************************");
101             double english=sr.nextDouble();
102             System.out.println("***********************************************************");
103             System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
104             System.out.println("                 学生考试成绩录入");
105             System.out.println("***********************************************************");
106             System.out.println("                   学生学号:"+temp[i].stunumber);
107             System.out.println("                   学生姓名:"+temp[i].name);
108             System.out.println("                   高等数学成绩:"+math);
109             System.out.println("                   大学英语成绩:"+english);
110             System.out.println("                请输入计算机网络成绩:");
111             System.out.println("***********************************************************");
112             double com=sr.nextDouble();
113             System.out.println("***********************************************************");
114             System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
115             System.out.println("                 学生考试成绩录入");
116             System.out.println("***********************************************************");
117             System.out.println("                   学生学号:"+temp[i].stunumber);
118             System.out.println("                   学生姓名:"+temp[i].name);
119             System.out.println("                   高等数学成绩:"+math);
120             System.out.println("                   大学英语成绩:"+english);
121             System.out.println("                   计算机网络成绩:"+com);
122             System.out.println("                 请输入数据库成绩:");
123             System.out.println("***********************************************************");
124             double shuju=sr.nextDouble();
125             System.out.println("***********************************************************");
126             System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
127             System.out.println("                 学生考试成绩录入");
128             System.out.println("***********************************************************");
129             System.out.println("                   学生学号:"+temp[i].stunumber);
130             System.out.println("                   学生姓名:"+temp[i].name);
131             System.out.println("                   高等数学成绩:"+math);
132             System.out.println("                   大学英语成绩:"+english);
133             System.out.println("                   计算机网络成绩:"+com);
134             System.out.println("                   数据库成绩:"+shuju);
135             System.out.println("                 请输入软件工程成绩:");
136             System.out.println("***********************************************************");
137             double software=sr.nextDouble();
138             System.out.println("***********************************************************");
139             System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
140             System.out.println("                 学生考试成绩录入");
141             System.out.println("***********************************************************");
142             System.out.println("                   学生学号:"+temp[i].stunumber);
143             System.out.println("                   学生姓名:"+temp[i].name);
144             System.out.println("                   高等数学成绩:"+math);
145             System.out.println("                   大学英语成绩:"+english);
146             System.out.println("                   计算机网络成绩:"+com);
147             System.out.println("                   数据库成绩:"+shuju);
148             System.out.println("                   软件工程成绩:"+software);
149             System.out.println("                   该学生成绩已录入完毕,是否提交(Y/N)");
150             System.out.println("***********************************************************");
151             String g=sr.next();
152             if(g.equals("Y"))
153             {
154                 temp[i].mathematicsscore=math;
155                 temp[i].englishiscore=english;
156                 temp[i].databasescore=com;
157                 temp[i].networkscore=shuju;
158                 temp[i].softwarescore=software;
159                 System.out.println("录入完成!!!");
160                 c1=false;
161                 
162             }
163         }
164     }
165     if(a==0)
166     {
167         System.out.println("该学生不存在!!");
168     }
169 }
170 }
171 void updatScore()
172 {boolean ai=true;
173 while(ai){
174     ai=true;
175     System.out.println("***********************************************************");
176     System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
177     System.out.println("                 学生考试成绩修改界面");
178     System.out.println("***********************************************************");
179     System.out.println("                 请输入学生学号:");
180     System.out.println("***********************************************************");
181     String num=sr.next();
182     int a=0;
183     String m;
184     for(int i=0;i<5;i++)
185     {
186         if(num.equals(temp[i].stunumber))
187         {
188             System.out.println("***********************************************************");
189             System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
190             System.out.println("                 学生考试成绩修改");
191             System.out.println("***********************************************************");
192             System.out.println("                 学生学号:"+temp[i].stunumber);
193             System.out.println("                 学生姓名:"+temp[i].name);
194             System.out.println("                 1、高等数学成绩:"+temp[i].mathematicsscore);
195             System.out.println("                 2、 大学英语成绩:"+temp[i].englishiscore);
196             System.out.println("                 3、计算机网络成绩:"+temp[i].databasescore);
197             System.out.println("                 4、数据库成绩:"+temp[i].networkscore);
198             System.out.println("                 5、软件工程成绩:"+temp[i].softwarescore);
199             System.out.println("***********************************************************");
200             a=1;
201             System.out.println("请选择相应的数字键修改相应的成绩:");
202             int b=sr.nextInt();
203             switch(b)
204             {
205 
206             case 1:
207                 System.out.println("***********************************************************");
208                 System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
209                 System.out.println("                 学生考试成绩修改");
210                 System.out.println("***********************************************************");
211                 System.out.println("                   学生学号:"+temp[i].stunumber);
212                 System.out.println("                   学生姓名:"+temp[i].name);
213                 System.out.println("                请输入修改后的高等数学成绩:");
214                 System.out.println("***********************************************************");
215                 double math=sr.nextDouble();
216                 System.out.println("***********************************************************");
217                 System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
218                 System.out.println("                 学生考试成绩修改");
219                 System.out.println("***********************************************************");
220                 System.out.println("                 学生学号:"+temp[i].stunumber);
221                 System.out.println("                 学生姓名:"+temp[i].name);
222                 System.out.println("                 1、高等数学成绩:"+math);
223                 System.out.println("                 2、 大学英语成绩:"+temp[i].englishiscore);
224                 System.out.println("                 3、计算机网络成绩:"+temp[i].databasescore);
225                 System.out.println("                 4、数据库成绩:"+temp[i].networkscore);
226                 System.out.println("                 5、软件工程成绩:"+temp[i].softwarescore);
227                 System.out.println("                   该学生成绩已录入完毕,是否提交(Y/N)");
228                 System.out.println("***********************************************************");
229                 m=sr.next();
230                 if(m.equals("Y"))
231                 {
232                     temp[i].mathematicsscore=math;
233                     ai=false;
234                 }
235                 break;
236             case 2:
237                 System.out.println("***********************************************************");
238                 System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
239                 System.out.println("                 学生考试成绩修改");
240                 System.out.println("***********************************************************");
241                 System.out.println("                   学生学号:"+temp[i].stunumber);
242                 System.out.println("                   学生姓名:"+temp[i].name);
243                 System.out.println("                请输入修改后的英语成绩:");
244                 System.out.println("***********************************************************");
245                 double english=sr.nextDouble();
246                 System.out.println("***********************************************************");
247                 System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
248                 System.out.println("                 学生考试成绩修改");
249                 System.out.println("***********************************************************");
250                 System.out.println("                 学生学号:"+temp[i].stunumber);
251                 System.out.println("                 学生姓名:"+temp[i].name);
252                 System.out.println("                 1、高等数学成绩:"+temp[i].mathematicsscore);
253                 System.out.println("                 2、 大学英语成绩:"+english);
254                 System.out.println("                 3、计算机网络成绩:"+temp[i].databasescore);
255                 System.out.println("                 4、数据库成绩:"+temp[i].networkscore);
256                 System.out.println("                 5、软件工程成绩:"+temp[i].softwarescore);
257                 System.out.println("                   该学生成绩已录入完毕,是否提交(Y/N)");
258                 System.out.println("***********************************************************");
259                 m=sr.next();
260                 if(m.equals("Y"))
261                 {
262                     
263                     temp[i].englishiscore=english;
264                     ai=false;
265             }
266                 break;
267             case 3:
268                 System.out.println("***********************************************************");
269                 System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
270                 System.out.println("                 学生考试成绩修改");
271                 System.out.println("***********************************************************");
272                 System.out.println("                   学生学号:"+temp[i].stunumber);
273                 System.out.println("                   学生姓名:"+temp[i].name);
274                 System.out.println("                请输入修改后的计算机网络成绩:");
275                 System.out.println("***********************************************************");
276                 double com=sr.nextDouble();
277                 System.out.println("***********************************************************");
278                 System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
279                 System.out.println("                 学生考试成绩修改");
280                 System.out.println("***********************************************************");
281                 System.out.println("                 学生学号:"+temp[i].stunumber);
282                 System.out.println("                 学生姓名:"+temp[i].name);
283                 System.out.println("                 1、高等数学成绩:"+temp[i].mathematicsscore);
284                 System.out.println("                 2、 大学英语成绩:"+temp[i].englishiscore);
285                 System.out.println("                 3、计算机网络成绩:"+com);
286                 System.out.println("                 4、数据库成绩:"+temp[i].networkscore);
287                 System.out.println("                 5、软件工程成绩:"+temp[i].softwarescore);
288                 System.out.println("                   该学生成绩已录入完毕,是否提交(Y/N)");
289                 System.out.println("***********************************************************");
290                 m=sr.next();
291                 if(m.equals("Y"))
292                 {
293                     temp[i].databasescore=com;
294                     ai=false;
295                 }
296                 break;
297             case 4:
298                 System.out.println("***********************************************************");
299                 System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
300                 System.out.println("                 学生考试成绩修改");
301                 System.out.println("***********************************************************");
302                 System.out.println("                   学生学号:"+temp[i].stunumber);
303                 System.out.println("                   学生姓名:"+temp[i].name);
304                 System.out.println("                请输入修改后的数据库成绩:");
305                 System.out.println("***********************************************************");
306                 double nextwork=sr.nextDouble();
307                 System.out.println("***********************************************************");
308                 System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
309                 System.out.println("                 学生考试成绩修改");
310                 System.out.println("***********************************************************");
311                 System.out.println("                 学生学号:"+temp[i].stunumber);
312                 System.out.println("                 学生姓名:"+temp[i].name);
313                 System.out.println("                 1、高等数学成绩:"+temp[i].mathematicsscore);
314                 System.out.println("                 2、 大学英语成绩:"+temp[i].englishiscore);
315                 System.out.println("                 3、计算机网络成绩:"+temp[i].databasescore);
316                 System.out.println("                 4、数据库成绩:"+nextwork);
317                 System.out.println("                 5、软件工程成绩:"+temp[i].softwarescore);
318                 System.out.println("                   该学生成绩已录入完毕,是否提交(Y/N)");
319                 System.out.println("***********************************************************");
320                 m=sr.next();
321                 if(m.equals("Y"))
322                 {
323                     temp[i].networkscore=nextwork;
324                     ai=false;
325                 }
326                 break;
327             case 5:
328                 System.out.println("***********************************************************");
329                 System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
330                 System.out.println("                 学生考试成绩修改");
331                 System.out.println("***********************************************************");
332                 System.out.println("                   学生学号:"+temp[i].stunumber);
333                 System.out.println("                   学生姓名:"+temp[i].name);
334                 System.out.println("                请输入修改后的软件工程成绩:");
335                 System.out.println("***********************************************************");    
336                 double soft=sr.nextDouble();
337                 System.out.println("***********************************************************");
338                 System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
339                 System.out.println("                 学生考试成绩修改");
340                 System.out.println("***********************************************************");
341                 System.out.println("                 学生学号:"+temp[i].stunumber);
342                 System.out.println("                 学生姓名:"+temp[i].name);
343                 System.out.println("                 1、高等数学成绩:"+temp[i].mathematicsscore);
344                 System.out.println("                 2、 大学英语成绩:"+temp[i].englishiscore);
345                 System.out.println("                 3、计算机网络成绩:"+temp[i].databasescore);
346                 System.out.println("                 4、数据库成绩:"+temp[i].networkscore);
347                 System.out.println("                 5、软件工程成绩:"+soft);
348                 System.out.println("                   该学生成绩已录入完毕,是否提交(Y/N)");
349                 System.out.println("***********************************************************");
350                 m=sr.next();
351                 if(m.equals("Y"))
352                 {
353                     temp[i].softwarescore=soft;
354                     ai=false;
355                 }
356                 break;
357             }
358             
359         }
360         }
361     if(a==0)
362     {
363         System.out.println("该学生不存在!!");
364     }
365   }    
366 }
367 double jidian(double a)
368 {
369     if(a<72)
370     {
371         if(a<64)
372         {
373             if(a<60)return 0;
374             else return 1.0;
375         }
376         else{
377             if(a<66)return 1.5;
378             if(a<68&&a>=66)
379                 return 1.7;
380             if(a>=68)return 2.0;
381         }
382     }
383     else{
384         if(a>=82)
385         {
386             if(a<85)return 3.3;
387             else if(a<90)return 3.7;
388             else return 4.0;
389         }
390         else{
391             if(a<75)return 2.3;
392             else if(a<78)return 2.7;
393             else return 3.0;
394         }
395     }
396     return a;
397     
398 }
399 void jisuan()
400 {   boolean a1=true;
401     while(a1){
402         System.out.println("***********************************************************");
403         System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
404         System.out.println("                 学生考试成绩修改界面");
405         System.out.println("***********************************************************");
406         System.out.println("                 请输入学生学号:");
407         System.out.println("***********************************************************");
408         String num=sr.next();
409         int a=0;
410         double aver;
411         for(int i=0;i<5;i++)
412         {
413             if(num.equals(temp[i].stunumber))
414             {
415                 a=1;
416                 aver=(jidian(temp[i].mathematicsscore)*4+jidian(temp[i].englishiscore)*3+jidian(temp[i].databasescore)*4+jidian(temp[i].networkscore)
417                         *3+jidian(temp[i].softwarescore)*2)/(temp[i].mathematicsscore+temp[i].englishiscore+temp[i].databasescore+temp[i].networkscore);
418                 System.out.println("***********************************************************");
419                 System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
420                 System.out.println("                 学生考试成绩绩点计算页面");
421                 System.out.println("***********************************************************");
422                 System.out.println("                 学生学号:"+temp[i].stunumber);
423                 System.out.println("                 学生姓名:"+temp[i].name);
424                 System.out.println("                 1、高等数学成绩绩点:"+jidian(temp[i].mathematicsscore));
425                 System.out.println("                 2、 大学英语成绩绩点:"+jidian(temp[i].englishiscore));
426                 System.out.println("                 3、计算机网络成绩绩点:"+jidian(temp[i].databasescore));
427                 System.out.println("                 4、数据库成绩绩点:"+jidian(temp[i].networkscore));
428                 System.out.println("                 5、软件工程成绩绩点:"+jidian(temp[i].softwarescore));
429                 System.out.println("                你的平均学分绩点为:"+aver);
430                 if(aver>=2)
431                 {
432                     System.out.println("你的学分绩点已达到毕业要求");
433                 }
434                 else{
435                 System.out.println("你的学分绩点没有达到毕业要求 ");
436                     }
437                 System.out.println("                   该学生成绩已录入完毕,是否提交(Y/N)");
438                 System.out.println("***********************************************************");
439                 num=sr.next();
440                 if(num.equals("Y"))
441                 {
442                     a1=false;
443                 }
444             }
445     }
446 }
447 }
448 }
 1 package java3;
 2 
 3 import java.util.Scanner;
 4 
 5 public class ScoreManagement {
 6 
 7     public static void main(String[] args) {
 8         ScoreInformation c1=new ScoreInformation();
 9         c1.add();
10         while(true)
11         {
12                     System.out.println("***********************************************************");
13                     System.out.println("         石家庄铁道大学软件工程系");
14                     System.out.println("         学生学籍管理系统 2019 版");
15                     System.out.println("***********************************************************");
16                     System.out.println("         1、 学生考试成绩录入");
17                     System.out.println("         2、 学生考试成绩修改");
18                     System.out.println("         3、 计算学生成绩绩点");
19                     System.out.println("         4、退出学籍管理系统");
20                     System.out.println("**********************************************************");
21                     Scanner sc=new Scanner(System.in);
22                     System.out.println("         请输入你想要的功能序号:");
23                     int a=sc.nextInt();
24                     while(a<1||a>4)
25                     {
26                         System.out.println("输入有误");
27                         break;
28                     }
29                     switch(a)
30                     {
31 
32                     case 1:System.out.println("你选择了学生考试成绩录入");
33                     c1.creatScore();
34                     break;
35                     case 2:System.out.println("你选择了学生考试成绩修改");
36                     c1.updatScore();
37                     break;
38                     case 3:System.out.println("你选择了计算学生成绩绩点");
39                     c1.jisuan();
40                     break;
41                     case 4:System.out.println("你选择了退出学籍管理系统");
42                     c1.end();
43                     return;
44                     }
45         }
46     }
47 
48 }

 

推荐阅读