一個簡單的學生成績管理系統(用JAVA實現)


本系統總共有四個功能,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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM