Java如何實現(xiàn)簡易學生成績系統(tǒng)-創(chuàng)新互聯(lián)

小編給大家分享一下Java如何實現(xiàn)簡易學生成績系統(tǒng),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

專注于為中小企業(yè)提供做網站、成都網站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)五峰免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網行業(yè)人才,有力地推動了上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現(xiàn)規(guī)模擴充和轉變。

剛剛接觸Java不久,寫法上和一些術語還不是很熟悉,如有不對的地方,希望指正。本次學生成績系統(tǒng)要求能實現(xiàn)成績錄入,修改成績,績點計算,退出系統(tǒng)四個功能,在進行思路分析后,我構建了三個大類:ScoreInformation類;Surface類;Main類。

一,ScoreInformation類:

public class ScoreInformation {  private String stunumber;     //學號  private String name;       //姓名  private double mathematicsscore; //高數(shù)成績  private double englishscore;   //大學英語成績  private double networkscore;   //計算機網絡成績  private double databasescore;   //數(shù)據庫成績  private double softwarescore;   //軟件工程成績    public void setStunumber(String stunumber){    this.stunumber = stunumber;  }  public String getStunumber(){    return stunumber;  }  public void setName(String name){    this.name = name;  }  public String getName(){    return name;  }  public void setMath(double mathematicssore){    this.mathematicsscore = mathematicssore;  }  public double getMath(){    return mathematicsscore;  }  public void setEng(double englishscore){    this.englishscore = englishscore;  }  public double getEng(){    return englishscore;  }  public void setNet(double networkscore){    this.networkscore = networkscore;  }  public double getNet(){    return networkscore;  }  public void setData(double databasescore){    this.databasescore = databasescore;  }  public double getData(){    return databasescore;  }  public void setSoft(double softwarescore){    this.softwarescore = softwarescore;  }  public double getSoft(){    return softwarescore;  }    public ScoreInformation(){    stunumber = "XXXXXXXX";//原代碼錄入的是我個人的信息,暫改為X    name = "XXX";    mathematicsscore = 0;    englishscore = 0;    networkscore = 0;    databasescore = 0;    softwarescore = 0;  }  public ScoreInformation(String stunumber,String name){    this.stunumber = stunumber;    this.name = name;    this.mathematicsscore = 0;    this.englishscore = 0;    this.networkscore = 0;    this.databasescore = 0;    this.softwarescore = 0;  }}

ScoreInformation類用于存儲信息,按題目要求,含7個私有變量。其中set和get函數(shù)分別用來設置和讀取對應變量的值。本類中設置了兩個構造方法,應老師的要求,無參默認我自己的學號和姓名,有參則自行設置學號和姓名,成績均默認為0。

二,Surface類:

public class Surface {  public void mainsur(){    System.out.println("***********************************************************");    System.out.println("      石家莊鐵道大學軟件工程系 ");    System.out.println("      學生學籍管理系統(tǒng) 2019 版 ");    System.out.println("***********************************************************");    System.out.println("      1、 學生考試成績錄入 ");    System.out.println("      2、 學生考試成績修改 ");    System.out.println("      3、 計算學生成績績點 ");    System.out.println("      4、 退出學籍管理系統(tǒng) ");    System.out.println("***********************************************************");  }  public void inStun(){    System.out.println("***********************************************************");    System.out.println("   石家莊鐵道大學軟件工程系學生學籍管理系統(tǒng) 2019 版 ");    System.out.println("        學生考試成績錄入");    System.out.println("***********************************************************");    System.out.println("        請輸入學生學號:");    System.out.println("***********************************************************");  }  public void inMath(ScoreInformation s){    System.out.println("***********************************************************");    System.out.println("   石家莊鐵道大學軟件工程系學生學籍管理系統(tǒng) 2019 版 ");    System.out.println("        學生考試成績錄入界面");    System.out.println("***********************************************************");    System.out.println("        學生學號:"+s.getStunumber());    System.out.println("         學生姓名:"+s.getName());    System.out.println("       請輸入高等數(shù)學成績:");    System.out.println("***********************************************************");  }  public void inEng(ScoreInformation s){    System.out.println("***********************************************************");    System.out.println("   石家莊鐵道大學軟件工程系學生學籍管理系統(tǒng) 2019 版 ");    System.out.println("        學生考試成績錄入界面");    System.out.println("***********************************************************");    System.out.println("        學生學號:"+s.getStunumber());    System.out.println("         學生姓名:"+s.getName());    System.out.println("        高等數(shù)學成績:"+s.getMath());    System.out.println("       請輸入大學英語成績:");    System.out.println("***********************************************************");  }  public void inNet(ScoreInformation s){    System.out.println("***********************************************************");    System.out.println("   石家莊鐵道大學軟件工程系學生學籍管理系統(tǒng) 2019 版 ");    System.out.println("        學生考試成績錄入界面");    System.out.println("***********************************************************");    System.out.println("        學生學號:"+s.getStunumber());    System.out.println("         學生姓名:"+s.getName());    System.out.println("        高等數(shù)學成績:"+s.getMath());    System.out.println("        大學英語成績:"+s.getEng());    System.out.println("       請輸入計算機網絡成績:");    System.out.println("***********************************************************");  }  public void inData(ScoreInformation s){    System.out.println("***********************************************************");    System.out.println("   石家莊鐵道大學軟件工程系學生學籍管理系統(tǒng) 2019 版 ");    System.out.println("        學生考試成績錄入界面");    System.out.println("***********************************************************");    System.out.println("        學生學號:"+s.getStunumber());    System.out.println("         學生姓名:"+s.getName());    System.out.println("        高等數(shù)學成績:"+s.getMath());    System.out.println("        大學英語成績:"+s.getEng());    System.out.println("       計算機網絡成績:"+s.getNet());    System.out.println("       請輸入數(shù)據庫成績:");    System.out.println("***********************************************************");  }  public void inSoft(ScoreInformation s){    System.out.println("***********************************************************");    System.out.println("   石家莊鐵道大學軟件工程系學生學籍管理系統(tǒng) 2019 版 ");    System.out.println("        學生考試成績錄入界面");    System.out.println("***********************************************************");    System.out.println("        學生學號:"+s.getStunumber());    System.out.println("         學生姓名:"+s.getName());    System.out.println("        高等數(shù)學成績:"+s.getMath());    System.out.println("        大學英語成績:"+s.getEng());    System.out.println("       計算機網絡成績:"+s.getNet());    System.out.println("         數(shù)據庫成績:"+s.getData());    System.out.println("       請輸入軟件工程成績:");    System.out.println("***********************************************************");  }  public void inall(ScoreInformation s){    System.out.println("***********************************************************");    System.out.println("   石家莊鐵道大學軟件工程系學生學籍管理系統(tǒng) 2019 版 ");    System.out.println("         學生考試成績錄入");    System.out.println("***********************************************************");    System.out.println("        學生學號:"+s.getStunumber());    System.out.println("         學生姓名:"+s.getName());    System.out.println("        高等數(shù)學成績:"+s.getMath());    System.out.println("        大學英語成績:"+s.getEng());    System.out.println("       計算機網絡成績:"+s.getNet());    System.out.println("         數(shù)據庫成績:"+s.getData());    System.out.println("        軟件工程成績:"+s.getSoft());    System.out.println("       該學生成績已錄入完畢,是否提交(Y/N)");    System.out.println("***********************************************************");  }  public void changeStun(){    System.out.println("***********************************************************");    System.out.println("   石家莊鐵道大學軟件工程系學生學籍管理系統(tǒng) 2019 版 ");    System.out.println("        學生考試成績修改界面");    System.out.println("***********************************************************");    System.out.println("        請輸入學生學號:");    System.out.println("***********************************************************");  }  public void outscore(ScoreInformation s){    System.out.println("***********************************************************");    System.out.println("   石家莊鐵道大學軟件工程系學生學籍管理系統(tǒng) 2019 版 ");    System.out.println("         學生考試成績錄入");    System.out.println("***********************************************************");    System.out.println("        學生學號:"+s.getStunumber());    System.out.println("         學生姓名:"+s.getName());    System.out.println("     1,高等數(shù)學成績:"+s.getMath());    System.out.println("     2,大學英語成績:"+s.getEng());    System.out.println("    3,計算機網絡成績:"+s.getNet());    System.out.println("     4,數(shù)據庫成績:"+s.getData());    System.out.println("     5,軟件工程成績:"+s.getSoft());    System.out.println("***********************************************************");  }  public void changeMath(ScoreInformation s){    System.out.println("***********************************************************");    System.out.println("   石家莊鐵道大學軟件工程系學生學籍管理系統(tǒng) 2019 版 ");    System.out.println("        學生考試成績錄入界面");    System.out.println("***********************************************************");    System.out.println("        學生學號:"+s.getStunumber());    System.out.println("         學生姓名:"+s.getName());    System.out.println("       請輸入修改后高等數(shù)學成績:");    System.out.println("***********************************************************");  }  public void changeEng(ScoreInformation s){    System.out.println("***********************************************************");    System.out.println("   石家莊鐵道大學軟件工程系學生學籍管理系統(tǒng) 2019 版 ");    System.out.println("        學生考試成績錄入界面");    System.out.println("***********************************************************");    System.out.println("        學生學號:"+s.getStunumber());    System.out.println("         學生姓名:"+s.getName());    System.out.println("       請輸入修改后大學英語成績:");    System.out.println("***********************************************************");  }  public void changeNet(ScoreInformation s){    System.out.println("***********************************************************");    System.out.println("   石家莊鐵道大學軟件工程系學生學籍管理系統(tǒng) 2019 版 ");    System.out.println("        學生考試成績錄入界面");    System.out.println("***********************************************************");    System.out.println("        學生學號:"+s.getStunumber());    System.out.println("         學生姓名:"+s.getName());    System.out.println("       請輸入修改后計算機網絡成績:");    System.out.println("***********************************************************");  }  public void changeData(ScoreInformation s){    System.out.println("***********************************************************");    System.out.println("   石家莊鐵道大學軟件工程系學生學籍管理系統(tǒng) 2019 版 ");    System.out.println("        學生考試成績錄入界面");    System.out.println("***********************************************************");    System.out.println("        學生學號:"+s.getStunumber());    System.out.println("         學生姓名:"+s.getName());    System.out.println("       請輸入修改后數(shù)據庫成績:");    System.out.println("***********************************************************");  }  public void changeSoft(ScoreInformation s){    System.out.println("***********************************************************");    System.out.println("   石家莊鐵道大學軟件工程系學生學籍管理系統(tǒng) 2019 版 ");    System.out.println("        學生考試成績錄入界面");    System.out.println("***********************************************************");    System.out.println("        學生學號:"+s.getStunumber());    System.out.println("         學生姓名:"+s.getName());    System.out.println("       請輸入修改后軟件工程成績:");    System.out.println("***********************************************************");  }  public void overchange(ScoreInformation s){    System.out.println("***********************************************************");    System.out.println("   石家莊鐵道大學軟件工程系學生學籍管理系統(tǒng) 2019 版 ");    System.out.println("         學生考試成績錄入");    System.out.println("***********************************************************");    System.out.println("        學生學號:"+s.getStunumber());    System.out.println("         學生姓名:"+s.getName());    System.out.println("     1,高等數(shù)學成績:"+s.getMath());    System.out.println("     2,大學英語成績:"+s.getEng());    System.out.println("    3,計算機網絡成績:"+s.getNet());    System.out.println("     4,數(shù)據庫成績:"+s.getData());    System.out.println("     5,軟件工程成績:"+s.getSoft());    System.out.println("       該學生成績已修改完畢,是否提交(Y/N)");    System.out.println("***********************************************************");  }  public void startgrade(){    System.out.println("***********************************************************");    System.out.println("   石家莊鐵道大學軟件工程系學生學籍管理系統(tǒng) 2019 版 ");    System.out.println("        學生考試成績績點計算界面");    System.out.println("***********************************************************");    System.out.println("        請輸入學生學號:");    System.out.println("***********************************************************");  }  public void endscore1(ScoreInformation s, double a){    System.out.println("***********************************************************");    System.out.println("   石家莊鐵道大學軟件工程系學生學籍管理系統(tǒng) 2019 版 ");    System.out.println("         學生考試成績績點計算界面");    System.out.println("***********************************************************");    System.out.println("        學生學號:"+s.getStunumber());    System.out.println("         學生姓名:"+s.getName());    System.out.println("     1,高等數(shù)學成績:"+s.getMath());    System.out.println("     2,大學英語成績:"+s.getEng());    System.out.println("    3,計算機網絡成績:"+s.getNet());    System.out.println("     4,數(shù)據庫成績:"+s.getData());    System.out.println("     5,軟件工程成績:"+s.getSoft());    System.out.print("          你的平均學分績點為:");    System.out.println(String.format("%.2f", a));    System.out.println("     提示信息:你的學分績點已達到畢業(yè)要求!");    System.out.println("    是否返回系統(tǒng)主界面:(Y/N)");    System.out.println("***********************************************************");  }  public void endscore2(ScoreInformation s, double a){    System.out.println("***********************************************************");    System.out.println("   石家莊鐵道大學軟件工程系學生學籍管理系統(tǒng) 2019 版 ");    System.out.println("         學生考試成績績點計算界面");    System.out.println("***********************************************************");    System.out.println("        學生學號:"+s.getStunumber());    System.out.println("         學生姓名:"+s.getName());    System.out.println("     1,高等數(shù)學成績:"+s.getMath());    System.out.println("     2,大學英語成績:"+s.getEng());    System.out.println("    3,計算機網絡成績:"+s.getNet());    System.out.println("     4,數(shù)據庫成績:"+s.getData());    System.out.println("     5,軟件工程成績:"+s.getSoft());    System.out.print("          你的平均學分績點為:");    System.out.println(String.format("%.2f", a));    System.out.println("     提示信息:你的學分績點不滿足畢業(yè)要求!");    System.out.println("    是否返回系統(tǒng)主界面:(Y/N)");    System.out.println("***********************************************************");  }  public void endsur(){    System.out.println("***********************************************************");    System.out.println("     謝謝使用石家莊鐵道大學軟件工程系學生學籍管理系統(tǒng) 2019 版 ");    System.out.println("         制作人:樸遠東");    System.out.println("***********************************************************");  }}

為了能讓代碼更容易檢查,我特意將所有關于界面顯示的方法歸類到Surface類里。這個類里只有顯示界面的功能代碼,無其他作用

三,Main類:

import java.util.Scanner;public class Main {  static Surface x = new Surface();       //調用界面類  static Scanner in = new Scanner(System.in);    public void stem1(ScoreInformation a[]){   //執(zhí)行學生成績錄入操作    int temp1 = 0;    x.inStun();    String m = in.next();    for(int i = 0; i < 5; i++){      if(a[i].getStunumber().equals(m))      {        x.inMath(a[i]);        double d1 = in.nextDouble();        a[i].setMath(d1);        x.inEng(a[i]);        double d2 = in.nextDouble();        a[i].setEng(d2);        x.inNet(a[i]);        double d3 = in.nextDouble();        a[i].setNet(d3);        x.inData(a[i]);        double d4 = in.nextDouble();        a[i].setData(d4);        x.inSoft(a[i]);        double d5 = in.nextDouble();        a[i].setSoft(d5);        x.inall(a[i]);        String c = in.next();        if(c.equals("N")){          a[i].setMath(0);          a[i].setEng(0);          a[i].setNet(0);          a[i].setData(0);          a[i].setSoft(0);        }        x.mainsur();        temp1 = 1;        break;      }    }    if(temp1 == 0)    {      System.out.println("該學號不存在");      x.mainsur();    }  }    public void stem2(ScoreInformation a[]){     //執(zhí)行學生成績修改操作。    int temp1 = 0;    double r1,r2,r3,r4,r5;    x.changeStun();    String m = in.next();    for(int i = 0; i < 5; i++){      if(a[i].getStunumber().equals(m))      {        r1 = a[i].getMath();        r2 = a[i].getEng();        r3 = a[i].getNet();        r4 = a[i].getData();        r5 = a[i].getSoft();        x.outscore(a[i]);        int c = in.nextInt();        switch(c){        case 1:          x.changeMath(a[i]);          double d1 = in.nextDouble();          a[i].setMath(d1);          break;        case 2:          x.changeEng(a[i]);          double d2 = in.nextDouble();          a[i].setEng(d2);          break;        case 3:          x.changeNet(a[i]);          double d3 = in.nextDouble();          a[i].setNet(d3);          break;        case 4:          x.changeData(a[i]);          double d4 = in.nextDouble();          a[i].setData(d4);          break;        case 5:          x.changeSoft(a[i]);          double d5 = in.nextDouble();          a[i].setSoft(d5);          break;        default:          System.out.println("無該選項,返回主界面");          x.mainsur();          break;        }        x.overchange(a[i]);        String h = in.next();        if(h.equals("N")){          a[i].setMath(r1);          a[i].setEng(r2);          a[i].setNet(r3);          a[i].setData(r4);          a[i].setSoft(r5);        }        x.mainsur();        temp1 = 1;        break;      }    }    if(temp1 == 0)    {      System.out.println("該學號不存在");      x.mainsur();    }  }    public void stem3(ScoreInformation a[]){       //執(zhí)行績點計算操作    Main v = new Main();    double R;    double r1,r2,r3,r4,r5;    double x1,x2,x3,x4,x5;    x.startgrade();    String m = in.next();    for(int i = 0; i < 5; i++){      if(a[i].getStunumber().equals(m))      {        r1 = a[i].getMath();x1 = v.Gpoint(r1);        r2 = a[i].getEng();x2 = v.Gpoint(r2);        r3 = a[i].getNet();x3 = v.Gpoint(r3);        r4 = a[i].getData();x4 = v.Gpoint(r4);        r5 = a[i].getSoft();x5 = v.Gpoint(r5);        R = (x1*r1+x2*r2+x3*r3+x4*r4+x5*r5)/(r1+r2+r3+r4+r5);        if(R>=2){          x.endscore1(a[i], R);        }else{          x.endscore2(a[i], R);        }        String q = in.next();        if(q.equals("Y")){          x.mainsur();        }        break;      }    }  }    public double Gpoint(double d){       //返回學分對應的績點    double e = 0;    if(d>=90.0)      e = 4.0;    else if(d>=85&&d<=89.9)      e = 3.7;    else if(d>=82&&d<=84.9)      e = 3.3;    else if(d>=78&&d<=81.9)      e = 3.0;    else if(d>=75&&d<=77.9)      e = 2.7;    else if(d>=72&&d<=74.9)      e = 2.3;    else if(d>=68&&d<=71.9)      e = 2.0;    else if(d>=66&&d<=67.9)      e = 1.7;    else if(d>=64&&d<=65.9)      e = 1.5;    else if(d>=60&&d<=63.9)      e = 1.0;    else if(d<60)      e = 0;    return e;  }    public static void main(String[] args) {    Main u = new Main();    ScoreInformation a[] = new ScoreInformation[5];    a[0] = new ScoreInformation();    a[1] = new ScoreInformation("20180001","小趙");    a[2] = new ScoreInformation("20180002","小張");    a[3] = new ScoreInformation("20180003","小王");    a[4] = new ScoreInformation("20180004","小李");    int temp = 0;    x.mainsur();    int T = in.nextInt();    while(temp == 0){          //重復調用      switch(T){      case 1:        u.stem1(a);        T = in.nextInt();        break;      case 2:        u.stem2(a);        T = in.nextInt();        break;      case 3:        u.stem3(a);        T = in.nextInt();        break;      case 4:        x.endsur();        temp = 1;        break;      default:        System.out.println("該選項不存在");        x.mainsur();        temp = 1;        break;      }    }      in.close();  }}

這個類就是主函數(shù)類了,用于實現(xiàn)各種操作。因為涉及到輸入的問題,所以使用了Scanner。老師為我們放寬了要求,輸入5位同學的信息即可,更改也是比較方便的,可以根據實際情況來進行對象數(shù)組的分配,在此就不多說了。題目中的系統(tǒng)是要重復調用的,又有4個選項,因此我選擇while+switch兩個結構來實現(xiàn)。代碼中聲明的Main和Surface類的對象,主要目的是在于調用MaIn和Surface類中的方法,操作數(shù)據都是ScoreInformation類的對象。在Main類中,stem1,stem2,stem3三個方法對應的是1-3的選項,將不同的實現(xiàn)操作分裝在不同的方法里,目的是讓代碼看著更加清晰。最后,代碼中多次出現(xiàn)的int型變量temp/temp1是我用來作為if判斷的標志,根據它的值來決定接下來的操作,這是我個人的編寫習慣,退出循環(huán)或者其他情況都會設置一個變量進行判斷。

以上是“Java如何實現(xiàn)簡易學生成績系統(tǒng)”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

文章名稱:Java如何實現(xiàn)簡易學生成績系統(tǒng)-創(chuàng)新互聯(lián)
鏈接分享:http://muchs.cn/article26/spjcg.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站設計、用戶體驗外貿網站建設、網頁設計公司、Google、云服務器

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

手機網站建設