<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Java 版學生成績管理系統(tǒng),附源碼!

          共 64827字,需瀏覽 130分鐘

           ·

          2021-04-06 12:29

          微信搜一搜
          村雨遙

          前言

          對于計算機專業(yè)的學生來講,一定對于學生成績管理系統(tǒng)課程設計十分印象深刻。設計、上機、編碼、寫報告、答辯等一系列流程,雖然很簡單,但也可以綜合運用我們所學的一些知識了。

          今天就來復習一下這個課題,用 Java SE 來實現(xiàn)該課題,也算是補上當初上課的時候沒有好好寫的遺憾吧。

          雖然很簡單,但是對于剛涉足編程學習的人來講,還是有一定難度的,既要考慮界面打印,也要考慮條件判斷、循環(huán)語句、輸入輸出控制等等技巧,所以在這里簡單地實現(xiàn)一下,方便給初學的小伙伴們一個參考(對于我的界面比較丑的問題,就不要過于糾結(jié)了,下去可以自己調(diào)整 ??,我們只關注功能實現(xiàn) ??)。

          對于學生成績管理系統(tǒng),主要可以分為如下幾個功能:

          1. 錄入學生成績
          2. 統(tǒng)計學生成績
          3. 查找學生成績
          4. 修改學生成績
          5. 刪除學生成績
          6. 按平均分排序
          7. 顯示所有成績
          8. 退出管理系統(tǒng)

          進入系統(tǒng)之后,我們應該有系統(tǒng)菜單,然后根據(jù)提示選擇我們所要進行的操作。

          • 錄入學生成績

          該功能是每次錄入學生的成績信息,或者在當前數(shù)據(jù)的基礎上添加錄入新的學生成績信息;

          • 統(tǒng)計學生成績

          主要是對學生的成績進行統(tǒng)計,然后輸出平均分,并打印出對應信息;

          image-20210405133413661
          • 查找學生成績

          根據(jù)輸入的學號來查找對應學生的相關成績信息;

          • 修改學生成績

          根據(jù)輸入的學號來對對應學生的成績進行修改;

          • 刪除學生成績

          根據(jù)輸入的學生學號,刪除對應學生的成績信息;

          • 按平均分排序

          按照平均分降序排序;

          image-20210405135553488
          • 顯示所有成績

          便利所有學生成績,然后打印出來;

          • 退出管理系統(tǒng)

          退出菜單;

          功能設計與實現(xiàn)

          主界面

          主要是打印出來系統(tǒng)功能的選擇菜單,然后根據(jù)我們的輸入進入不同的子功能模塊;

          package com.cunyu;

          import java.util.ArrayList;
          import java.util.Scanner;

          /**
           * @author : cunyu
           * @version : 1.0
           * @className : Manager
           * @date : 2021/4/4 23:54
           * @description : 管理系統(tǒng)
           */


          public class Manager {
              public static Scanner scanner = new Scanner(System.in);
              public static ArrayList<Student> students = new ArrayList<>();

              public static void main(String[] args) {
                  while (true) {
                      System.out.println("----------歡迎使用學生成績管理系統(tǒng)-----------");
                      System.out.println("-------------【1】錄入學生成績-------------");
                      System.out.println("-------------【2】顯示統(tǒng)計數(shù)據(jù)-------------");
                      System.out.println("-------------【3】查找學生成績-------------");
                      System.out.println("-------------【4】修改學生成績-------------");
                      System.out.println("-------------【5】刪除學生成績-------------");
                      System.out.println("-------------【6】按平均分排列-------------");
                      System.out.println("-------------【7】顯示所有成績-------------");
                      System.out.println("-------------【0】退出管理系統(tǒng)-------------");

                      Student student = new Student();

                      System.out.println("輸入你的選擇【0-7】");
                      String choice = scanner.next();
                      switch (choice) {
                          case "1":
                              // 錄入成績
                              student.addScore(students);
                              break;
                          case "2":
                              // 統(tǒng)計信息
                              student.showAvg(students);
                              break;
                          case "3":
                              // 查找成績
                              student.lookupStudent(students);
                              break;
                          case "4":
                              // 修改成績
                              student.modifyStudent(students);
                              break;
                          case "5":
                              // 刪除成績
                              student.deleteStudent(students);
                              break;
                          case "6":
                              // 按照平均分排序
                              student.sortStudent(students);
                              break;
                          case "7":
                              // 顯示所有成績
                              student.showAllStudent(students);
                              break;
                          case "0":
                              System.exit(0);
                          default:
                              break;
                      }
                  }
              }
          }

          主類設計

          系統(tǒng)主要是針對學生成績信息管理的,所以我們設計一個學生類,包括一系列屬性(也就是簡單的個人信息和各科成績);

          package com.cunyu;
          /**
           * @author : cunyu
           * @version : 1.0
           * @className : Student
           * @date : 2021/4/4 23:31
           * @description : 學生類
           */


          public class Student {
              //    班級
              private String grade;
              //    學號
              private long id;
              //    姓名
              private String name;
              //    高數(shù)
              private float math;
              //    英語
              private float english;
              //    體育
              private float sport;
              //    Java
              private float java;
              //    C++
              private float cPlusPlus;
              //    政治
              private float polity;
              //    算法
              private float algorithm;
              //    平均分
              private double average;

              // 各種 setter/getter 以及構(gòu)造函數(shù)
          }

          錄入學生成績

          首先錄入學號,判斷是否可用,不可用則重新輸入,可用則輸入其他信息;

          然后將信息賦值到學生對象,最后將該學生對象加入集合就可以了。

          /**
          @param students 學生對象列表
          @return
          @description 錄入學生信息
          @date 2021/4/5 9:14
          @author cunyu1943
          @version 1.0
          */

          public void addScore(ArrayList<Student> students) {
              System.out.println("----------錄入學生數(shù)據(jù)----------");
              System.out.println("請依次輸入如下數(shù)據(jù):");
              long id;
              while (true) {
                  System.out.println("學號");
                  id = scanner.nextInt();
                  if (isValid(students, id)) {
                      System.out.println("學號重復,請重新輸入");
                  } else {
                      break;
                  }
              }

              System.out.println("年級");
              String grade = scanner.next();
              System.out.println("姓名");
              String name = scanner.next();
              System.out.println("數(shù)學");
              float math = scanner.nextFloat();
              System.out.println("英語");
              float english = scanner.nextFloat();
              System.out.println("體育");
              float sport = scanner.nextFloat();
              System.out.println("Java");
              float java = scanner.nextFloat();
              System.out.println("C++");
              float cPlusPlus = scanner.nextFloat();
              System.out.println("政治");
              float polity = scanner.nextFloat();
              System.out.println("算法");
              float algorithm = scanner.nextFloat();

              //        創(chuàng)建對象,并設置屬性,然后將其加入學生對象集合
              Student student = new Student();
              student.setId(id);
              student.setGrade(grade);
              student.setName(name);
              student.setMath(math);
              student.setAlgorithm(algorithm);
              student.setEnglish(english);
              student.setcPlusPlus(cPlusPlus);
              student.setJava(java);
              student.setSport(sport);
              student.setPolity(polity);
              //        獲取平均分
              double avg = getAvg(student);
              student.setAverage(avg);
              //        添加到集合
              students.add(student);
              //        提示信息
              System.out.println("添加成功");
          }

          統(tǒng)計學生成績

          主要實現(xiàn)對于各學生平均成績的統(tǒng)計,然后打印出信息;

          /**
          @param students 學生對象集合
          @return
          @description 顯示簡單統(tǒng)計數(shù)據(jù)
          @date 2021/4/5 10:08
          @author cunyu1943
          @version 1.0
          */

          public void showAvg(ArrayList<Student> students) {
              System.out.println("----------輸出學生統(tǒng)計數(shù)據(jù)----------");
              if (students.size() == 0) {
                  System.out.println("當前無數(shù)據(jù),請先添加數(shù)據(jù)!");
              } else {
                  System.out.println("班級\t\t學號\t\t姓名\t\t平均分");
                  System.out.println("---------------------------------");
                  for (Student student : students) {
                      System.out.format("%s\t\t%d\t\t%s\t\t%.2f\n", student.getGrade(), student.getId(), student.getName(), student.getAvg(student));
                  }
              }
          }

          查找學生成績

          先判斷是否有數(shù)據(jù),有數(shù)據(jù)再進行后續(xù)操作。然后通過對輸入的學號進行匹配,找到對應學號的學生成績信息并打印;

          /**
          @param students 學生對象集合
          @return
          @description 查找對應學號學生的成績信息
          @date 2021/4/5 12:59
          @author cunyu1943
          @version 1.0
          */

          public void lookupStudent(ArrayList<Student> students) {
              System.out.println("----------查找學生成績----------");
              if (students.size() == 0) {
                  System.out.println("當前無數(shù)據(jù),請?zhí)砑雍笾卦?);
              } else {
                  System.out.println("請輸入要查找學生的學號:");
                  long id = scanner.nextLong();
                  int flag = -1;
                  Student student = new Student();
                  //        查找對應學號,找到就退出
                  for (int i = 0; i < students.size(); i++) {
                      student = students.get(i);
                      if (student.getId() == id) {
                          flag = i;
                          break;
                      }
                  }

                  if (flag == -1) {
                      System.out.println("未找到對應學號的學生,請確認后重新輸入!");
                  } else {
                      System.out.println("對應學號的學生成績?nèi)缦拢?);
                      System.out.println("班級\t\t學號\t\t姓名\t\t數(shù)學\t\t英語\t\t體育\t\tJava\t\tC++\t\t政治\t\t算法\t\t平均分");
                      System.out.format("%s\t%d\t\t%s\t\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n", student.getGrade(), student.getId(), student.getName(), student.getMath(), student.getEnglish(), student.getSport(), student.getJava(), student.getcPlusPlus(), student.getPolity(), student.getAlgorithm(), student.getAvg(student));
                      System.out.println("查找信息成功!");
                  }
              }

          }

          修改學生成績

          先判斷是否有數(shù)據(jù),有數(shù)據(jù)再進行后續(xù)操作。然后通過對輸入的學號進行匹配,找到對應學號的學生,然后對其成績信息進行修改,但不修改個人其他信息;

          /**
          @param students 學生對象集合
          @return
          @description 修改對應學號學生的信息
          @date 2021/4/5 12:59
          @author cunyu1943
          @version 1.0
          */

          public void modifyStudent(ArrayList<Student> students) {
              System.out.println("----------修改學生成績----------");
              if (students.isEmpty()) {
                  System.out.println("當前無數(shù)據(jù),請?zhí)砑雍笾卦?);
              } else {
                  System.out.println("請輸入要修改學生的學號:");
                  long id = scanner.nextLong();

                  for (Student student : students) {
                      if (id == student.getId()) {
                          System.out.println("請重新輸入該學生的成績");
                          System.out.println("數(shù)學");
                          float math = scanner.nextFloat();
                          System.out.println("英語");
                          float english = scanner.nextFloat();
                          System.out.println("體育");
                          float sport = scanner.nextFloat();
                          System.out.println("Java");
                          float java = scanner.nextFloat();
                          System.out.println("C++");
                          float cPlusPlus = scanner.nextFloat();
                          System.out.println("政治");
                          float polity = scanner.nextFloat();
                          System.out.println("算法");
                          float algorithm = scanner.nextFloat();

                          student.setMath(math);
                          student.setAlgorithm(algorithm);
                          student.setEnglish(english);
                          student.setcPlusPlus(cPlusPlus);
                          student.setJava(java);
                          student.setSport(sport);
                          student.setPolity(polity);
                          //                獲取平均分
                          double avg = getAvg(student);
                          student.setAverage(avg);
                          System.out.println("修改成功!");
                      } else {
                          System.out.println("未找到對應學號的學生,請確認后重新輸入!");
                      }
                      break;
                  }
              }
          }

          刪除學生成績

          先判斷是否有數(shù)據(jù),有數(shù)據(jù)再進行后續(xù)操作。然后通過對輸入的學號進行匹配,找到對應學號的學生,然后將其從集合中刪除即可;

          /**
               * @param students 學生對象集合
               * @return
               * @description 刪除學生成績
               * @date 2021/4/5 14:28
               * @author cunyu1943
               * @version 1.0
               */

          public void deleteStudent(ArrayList<Student> students) {
              System.out.println("----------刪除學生成績----------");
              if (students.isEmpty()) {
                  System.out.println("當前無數(shù)據(jù),請?zhí)砑雍笾卦?);
              } else {
                  System.out.println("輸入要刪除學生成績的學號");
                  long id = scanner.nextLong();

                  int index = -1;
                  for (int i = 0; i < students.size(); i++) {
                      Student student = students.get(i);
                      if (student.getId() == id) {
                          index = i;
                          break;
                      }
                  }
                  if (index == -1) {
                      System.out.println("未找到對應學號學生信息,請確認后再刪除!");
                  } else {
                      students.remove(index);
                      System.out.println("----------刪除成功----------");
                  }
              }
          }

          按平均分排序

          先判斷是否有數(shù)據(jù),有數(shù)據(jù)再進行后續(xù)操作。然后對集合中的學生的平均成績進行排序,然后依次從高到低打印出學生信息;

          /**
          @param students 學生對象集合
          @return
          @description 按照平均分排序
          @date 2021/4/5 14:29
          @author cunyu1943
          @version 1.0
          */

          public void sortStudent(ArrayList<Student> students) {
              if (students.isEmpty()) {
                  System.out.println("當前無數(shù)據(jù),請?zhí)砑雍笾卦?);
              } else {
                  for (int i = 0; i < students.size() - 1; i++) {
                      if (students.get(i).getAvg(students.get(i)) < students.get(i + 1).getAvg(students.get(i + 1))) {
                          Student tmp = students.get(i);
                          students.set(i, students.get(i + 1));
                          students.set(i + 1, tmp);
                      }
                  }

                  System.out.println("排序后的學生成績");
                  System.out.println("班級\t\t學號\t\t姓名\t\t數(shù)學\t\t英語\t\t體育\t\tJava\t\tC++\t\t政治\t\t算法\t\t平均分");
                  for (Student student : students) {
                      System.out.format("%s\t%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n", student.getGrade(), student.getId(), student.getName(), student.getMath(), student.getEnglish(), student.getSport(), student.getJava(), student.getcPlusPlus(), student.getPolity(), student.getAlgorithm(), student.getAvg(student));
                  }
              }
          }

          顯示所有成績

          先判斷是否有數(shù)據(jù),有數(shù)據(jù)再進行后續(xù)操作。遍歷學生對象集合,然后打印出各個學生的成績信息。

          /**
          @param students 學生對象集合
          @return
          @description 顯示所有學生成績
          @date 2021/4/5 14:30
          @author cunyu1943
          @version 1.0
          */

          public void showAllStudent(ArrayList<Student> students) {
              if (students.isEmpty()) {
                  System.out.println("當前無數(shù)據(jù),請先添加數(shù)據(jù)");
              } else {
                  System.out.println("----------所有學生成績?nèi)缦?---------");
                  System.out.println("班級\t\t學號\t\t姓名\t\t數(shù)學\t\t英語\t\t體育\t\tJava\t\tC++\t\t政治\t\t算法\t\t平均分");
                  for (Student student : students) {
                      System.out.format("%s\t%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n", student.getGrade(), student.getId(), student.getName(), student.getMath(), student.getEnglish(), student.getSport(), student.getJava(), student.getcPlusPlus(), student.getPolity(), student.getAlgorithm(), student.getAvg(student));
                  }
              }
          }

          總程序

          將上述所有模塊整合之后,我們得到最終的程序;

          1. Manager.java
          package com.cunyu;

          import java.util.ArrayList;
          import java.util.Scanner;

          /**
           * @author : cunyu
           * @version : 1.0
           * @className : Manager
           * @date : 2021/4/4 23:54
           * @description : 管理系統(tǒng)
           */


          public class Manager {
              public static Scanner scanner = new Scanner(System.in);
              public static ArrayList<Student> students = new ArrayList<>();

              public static void main(String[] args) {
                  while (true) {
                      System.out.println("----------歡迎使用學生成績管理系統(tǒng)-----------");
                      System.out.println("-------------【1】錄入學生成績-------------");
                      System.out.println("-------------【2】顯示統(tǒng)計數(shù)據(jù)-------------");
                      System.out.println("-------------【3】查找學生成績-------------");
                      System.out.println("-------------【4】修改學生成績-------------");
                      System.out.println("-------------【5】刪除學生成績-------------");
                      System.out.println("-------------【6】按平均分排列-------------");
                      System.out.println("-------------【7】顯示所有成績-------------");
                      System.out.println("-------------【0】退出管理系統(tǒng)-------------");

                      Student student = new Student();

                      System.out.println("輸入你的選擇");
                      String choice = scanner.next();
                      switch (choice) {
                          case "1":
                              student.addScore(students);
                              break;
                          case "2":
                              student.showAvg(students);
                              break;
                          case "3":
                              student.lookupStudent(students);
                              break;
                          case "4":
                              student.modifyStudent(students);
                              break;
                          case "5":
                              student.deleteStudent(students);
                              break;
                          case "6":
                              student.sortStudent(students);
                              break;
                          case "7":
                              student.showAllStudent(students);
                              break;
                          case "0":
                              System.exit(0);
                          default:
                              break;
                      }
                  }
              }
          }

          1. Student.java
          package com.cunyu;

          import java.util.ArrayList;
          import java.util.Scanner;

          /**
           * @author : cunyu
           * @version : 1.0
           * @className : Student
           * @date : 2021/4/4 23:31
           * @description : 學生類
           */


          public class Student {
              public static Scanner scanner = new Scanner(System.in);
              //    班級
              private String grade;
              //    學號
              private long id;
              //    姓名
              private String name;
              //    高數(shù)
              private float math;
              //    英語
              private float english;
              //    體育
              private float sport;
              //    Java
              private float java;
              //    C++
              private float cPlusPlus;
              //    政治
              private float polity;
              //    算法
              private float algorithm;
              //    平均分
              private double average;

              public Student() {
              }

              public Student(String grade, long id, String name, float math, float english, float sport, float java, float cPlusPlus, float polity, float algorithm, double average) {
                  this.grade = grade;
                  this.id = id;
                  this.name = name;
                  this.math = math;
                  this.english = english;
                  this.sport = sport;
                  this.java = java;
                  this.cPlusPlus = cPlusPlus;
                  this.polity = polity;
                  this.algorithm = algorithm;
                  this.average = average;
              }

              public String getGrade() {
                  return grade;
              }

              public void setGrade(String grade) {
                  this.grade = grade;
              }

              public long getId() {
                  return id;
              }

              public void setId(long id) {
                  this.id = id;
              }

              public String getName() {
                  return name;
              }

              public void setName(String name) {
                  this.name = name;
              }

              public float getMath() {
                  return math;
              }

              public void setMath(float math) {
                  this.math = math;
              }

              public float getEnglish() {
                  return english;
              }

              public void setEnglish(float english) {
                  this.english = english;
              }

              public float getSport() {
                  return sport;
              }

              public void setSport(float sport) {
                  this.sport = sport;
              }

              public float getJava() {
                  return java;
              }

              public void setJava(float java) {
                  this.java = java;
              }

              public float getcPlusPlus() {
                  return cPlusPlus;
              }

              public void setcPlusPlus(float cPlusPlus) {
                  this.cPlusPlus = cPlusPlus;
              }

              public float getPolity() {
                  return polity;
              }

              public void setPolity(float polity) {
                  this.polity = polity;
              }

              public float getAlgorithm() {
                  return algorithm;
              }

              public void setAlgorithm(float algorithm) {
                  this.algorithm = algorithm;
              }

              public double getAvg(Student student) {
                  return (student.getAlgorithm() + student.getcPlusPlus() + student.getEnglish() + student.getSport() + student.getJava() + student.getPolity() + student.getMath()) / 7;
              }

              public void setAverage(double average) {
                  this.average = average;
              }


              /**
               * @param students 學生對象列表
               * @return
               * @description 錄入學生信息
               * @date 2021/4/5 9:14
               * @author cunyu1943
               * @version 1.0
               */

              public void addScore(ArrayList<Student> students) {
                  System.out.println("----------錄入學生數(shù)據(jù)----------");
                  System.out.println("請依次輸入如下數(shù)據(jù):");
                  long id;
                  while (true) {
                      System.out.println("學號");
                      id = scanner.nextInt();
                      if (isValid(students, id)) {
                          System.out.println("學號重復,請重新輸入");
                      } else {
                          break;
                      }
                  }

                  System.out.println("年級");
                  String grade = scanner.next();
                  System.out.println("姓名");
                  String name = scanner.next();
                  System.out.println("數(shù)學");
                  float math = scanner.nextFloat();
                  System.out.println("英語");
                  float english = scanner.nextFloat();
                  System.out.println("體育");
                  float sport = scanner.nextFloat();
                  System.out.println("Java");
                  float java = scanner.nextFloat();
                  System.out.println("C++");
                  float cPlusPlus = scanner.nextFloat();
                  System.out.println("政治");
                  float polity = scanner.nextFloat();
                  System.out.println("算法");
                  float algorithm = scanner.nextFloat();

                  //        創(chuàng)建對象,并設置屬性,然后將其加入學生對象集合
                  Student student = new Student();
                  student.setId(id);
                  student.setGrade(grade);
                  student.setName(name);
                  student.setMath(math);
                  student.setAlgorithm(algorithm);
                  student.setEnglish(english);
                  student.setcPlusPlus(cPlusPlus);
                  student.setJava(java);
                  student.setSport(sport);
                  student.setPolity(polity);
                  //        獲取平均分
                  double avg = getAvg(student);
                  student.setAverage(avg);
                  //        添加到集合
                  students.add(student);
                  //        提示信息
                  System.out.println("添加成功");
              }

              /**
               * @param students 學生對象集合
               * @param id       學號
               * @return true,學號重復;false 學號可用
               * @description 判斷學號是否可用
               * @date 2021/4/5 9:19
               * @author cunyu1943
               * @version 1.0
               */

              public boolean isValid(ArrayList<Student> students, long id) {
                  for (Student student : students) {
                      if (student.getId() == id) {
                          return true;
                      }
                  }
                  return false;
              }

              /**
               * @param students 學生對象集合
               * @return
               * @description 顯示簡單統(tǒng)計數(shù)據(jù)
               * @date 2021/4/5 10:08
               * @author cunyu1943
               * @version 1.0
               */

              public void showAvg(ArrayList<Student> students) {
                  System.out.println("----------輸出學生統(tǒng)計數(shù)據(jù)----------");
                  if (students.size() == 0) {
                      System.out.println("當前無數(shù)據(jù),請先添加數(shù)據(jù)!");
                  } else {
                      System.out.println("班級\t\t學號\t\t姓名\t\t平均分");
                      System.out.println("---------------------------------");
                      for (Student student : students) {
                          System.out.format("%s\t\t%d\t\t%s\t\t%.2f\n", student.getGrade(), student.getId(), student.getName(), student.getAvg(student));
                      }
                  }
              }

              /**
               * @param students 學生對象集合
               * @return
               * @description 查找對應學號學生的成績信息
               * @date 2021/4/5 12:59
               * @author cunyu1943
               * @version 1.0
               */

              public void lookupStudent(ArrayList<Student> students) {
                  System.out.println("----------查找學生成績----------");
                  if (students.size() == 0) {
                      System.out.println("當前無數(shù)據(jù),請?zhí)砑雍笾卦?);
                  } else {
                      System.out.println("請輸入要查找學生的學號:");
                      long id = scanner.nextLong();
                      int flag = -1;
                      Student student = new Student();
                      //        查找對應學號,找到就退出
                      for (int i = 0; i < students.size(); i++) {
                          student = students.get(i);
                          if (student.getId() == id) {
                              flag = i;
                              break;
                          }
                      }

                      if (flag == -1) {
                          System.out.println("未找到對應學號的學生,請確認后重新輸入!");
                      } else {
                          System.out.println("對應學號的學生成績?nèi)缦拢?);
                          System.out.println("班級\t\t學號\t\t姓名\t\t數(shù)學\t\t英語\t\t體育\t\tJava\t\tC++\t\t政治\t\t算法\t\t平均分");
                          System.out.format("%s\t%d\t\t%s\t\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n", student.getGrade(), student.getId(), student.getName(), student.getMath(), student.getEnglish(), student.getSport(), student.getJava(), student.getcPlusPlus(), student.getPolity(), student.getAlgorithm(), student.getAvg(student));
                          System.out.println("查找信息成功!");
                      }
                  }

              }

              /**
               * @param students 學生對象集合
               * @return
               * @description 修改對應學號學生的信息
               * @date 2021/4/5 12:59
               * @author cunyu1943
               * @version 1.0
               */

              public void modifyStudent(ArrayList<Student> students) {
                  System.out.println("----------修改學生成績----------");
                  if (students.isEmpty()) {
                      System.out.println("當前無數(shù)據(jù),請?zhí)砑雍笾卦?);
                  } else {
                      System.out.println("請輸入要修改學生的學號:");
                      long id = scanner.nextLong();

                      for (Student student : students) {
                          if (id == student.getId()) {
                              System.out.println("請重新輸入該學生的成績");
                              System.out.println("數(shù)學");
                              float math = scanner.nextFloat();
                              System.out.println("英語");
                              float english = scanner.nextFloat();
                              System.out.println("體育");
                              float sport = scanner.nextFloat();
                              System.out.println("Java");
                              float java = scanner.nextFloat();
                              System.out.println("C++");
                              float cPlusPlus = scanner.nextFloat();
                              System.out.println("政治");
                              float polity = scanner.nextFloat();
                              System.out.println("算法");
                              float algorithm = scanner.nextFloat();

                              student.setMath(math);
                              student.setAlgorithm(algorithm);
                              student.setEnglish(english);
                              student.setcPlusPlus(cPlusPlus);
                              student.setJava(java);
                              student.setSport(sport);
                              student.setPolity(polity);
                              //                獲取平均分
                              double avg = getAvg(student);
                              student.setAverage(avg);
                              System.out.println("修改成功!");
                          } else {
                              System.out.println("未找到對應學號的學生,請確認后重新輸入!");
                          }
                          break;
                      }
                  }
              }


              /**
               * @param students 學生對象集合
               * @return
               * @description 刪除學生成績
               * @date 2021/4/5 14:28
               * @author cunyu1943
               * @version 1.0
               */

              public void deleteStudent(ArrayList<Student> students) {
                  System.out.println("----------刪除學生成績----------");
                  if (students.isEmpty()) {
                      System.out.println("當前無數(shù)據(jù),請?zhí)砑雍笾卦?);
                  } else {
                      System.out.println("輸入要刪除學生成績的學號");
                      long id = scanner.nextLong();

                      int index = -1;
                      for (int i = 0; i < students.size(); i++) {
                          Student student = students.get(i);
                          if (student.getId() == id) {
                              index = i;
                              break;
                          }
                      }
                      if (index == -1) {
                          System.out.println("未找到對應學號學生信息,請確認后再刪除!");
                      } else {
                          students.remove(index);
                          System.out.println("----------刪除成功----------");
                      }
                  }
              }

              /**
               * @param students 學生對象集合
               * @return
               * @description 顯示所有學生成績
               * @date 2021/4/5 14:30
               * @author cunyu1943
               * @version 1.0
               */

              public void showAllStudent(ArrayList<Student> students) {
                  if (students.isEmpty()) {
                      System.out.println("當前無數(shù)據(jù),請先添加數(shù)據(jù)");
                  } else {
                      System.out.println("----------所有學生成績?nèi)缦?---------");
                      System.out.println("班級\t\t學號\t\t姓名\t\t數(shù)學\t\t英語\t\t體育\t\tJava\t\tC++\t\t政治\t\t算法\t\t平均分");
                      for (Student student : students) {
                          System.out.format("%s\t%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n", student.getGrade(), student.getId(), student.getName(), student.getMath(), student.getEnglish(), student.getSport(), student.getJava(), student.getcPlusPlus(), student.getPolity(), student.getAlgorithm(), student.getAvg(student));
                      }
                  }
              }

              /**
               * @param students 學生對象集合
               * @return
               * @description 按照平均分排序
               * @date 2021/4/5 14:29
               * @author cunyu1943
               * @version 1.0
               */

              public void sortStudent(ArrayList<Student> students) {
                  if (students.isEmpty()) {
                      System.out.println("當前無數(shù)據(jù),請?zhí)砑雍笾卦?);
                  } else {
                      for (int i = 0; i < students.size() - 1; i++) {
                          if (students.get(i).getAvg(students.get(i)) < students.get(i + 1).getAvg(students.get(i + 1))) {
                              Student tmp = students.get(i);
                              students.set(i, students.get(i + 1));
                              students.set(i + 1, tmp);
                          }
                      }

                      System.out.println("排序后的學生成績");
                      System.out.println("班級\t\t學號\t\t姓名\t\t數(shù)學\t\t英語\t\t體育\t\tJava\t\tC++\t\t政治\t\t算法\t\t平均分");
                      for (Student student : students) {
                          System.out.format("%s\t%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n", student.getGrade(), student.getId(), student.getName(), student.getMath(), student.getEnglish(), student.getSport(), student.getJava(), student.getcPlusPlus(), student.getPolity(), student.getAlgorithm(), student.getAvg(student));
                      }
                  }
              }

          }

          總結(jié)

          雖然功能比較簡陋,但還是需要一定時間來完成的。此外,本設計只是針對一次運行過程,一旦程序終止,錄入的數(shù)據(jù)就無法保存了,這一點需要注意。后續(xù)考慮加入文件寫入或者數(shù)據(jù)庫的方式來實現(xiàn)該課程設計,以保存我們所錄入的數(shù)據(jù)。



          瀏覽 46
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  内射极品在线观看免费 | 你懂的网址国产,欧美 | 天天精品 | 亚洲巨幕av | 天堂呦呦8 |