关于java:Java-版学生成绩管理系统附源码

44次阅读

共计 18798 个字符,预计需要花费 47 分钟才能阅读完成。

前言

对于计算机专业的学生来讲,肯定对于学生问题管理系统课程设计非常印象粗浅。设计、上机、编码、写报告、问难等一系列流程,尽管很简略,但也能够综合使用咱们所学的一些常识了。

明天就来温习以下这个课题,用 Java SE 来实现该课题,也算是补上当初上课的时候没有好好写的遗憾吧。

尽管很简略,然而对于刚涉足编程学习的人来讲,还是有肯定难度的,既要思考界面打印,也要思考条件判断、循环语句、输入输出管制等等技巧,所以在这里简略地实现一下,不便给初学的小伙伴们一个参考(对于我的界面比拟丑的问题,就不要过于纠结了,上来能够本人调整😂,咱们只关注性能实现🤣)。

对于学生问题管理系统,次要能够分为如下几个性能:

  1. 录入学生问题
  2. 统计学生问题
  3. 查找学生问题
  4. 批改学生问题
  5. 删除学生问题
  6. 按平均分排序
  7. 显示所有问题
  8. 退出管理系统

进入零碎之后,咱们应该有零碎菜单,而后依据提醒抉择咱们所要进行的操作。

  • 录入学生问题

该性能是每次录入学生的问题信息,或者在以后数据的根底上增加录入新的学生问题信息;

  • 统计学生问题

次要是对学生的问题进行统计,而后输入平均分,并打印出对应信息;

  • 查找学生问题

依据输出的学号来查找对应学生的相干问题信息;

  • 批改学生问题

依据输出的学号来对对应学生的问题进行批改;

  • 删除学生问题

依据输出的学生学号,删除对应学生的问题信息;

  • 按平均分排序

依照平均分降序排序;

  • 显示所有问题

便当所有学生问题,而后打印进去;

  • 退出管理系统

退出菜单;

功能设计与实现

主界面

次要是打印进去零碎性能的抉择菜单,而后依据咱们的输出进入不同的子功能模块;

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 : 管理系统
 */

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("---------- 欢送应用学生问题管理系统 -----------");
            System.out.println("-------------【1】录入学生问题 -------------");
            System.out.println("-------------【2】显示统计数据 -------------");
            System.out.println("-------------【3】查找学生问题 -------------");
            System.out.println("-------------【4】批改学生问题 -------------");
            System.out.println("-------------【5】删除学生问题 -------------");
            System.out.println("-------------【6】按平均分排列 -------------");
            System.out.println("-------------【7】显示所有问题 -------------");
            System.out.println("-------------【0】退出管理系统 -------------");

            Student student = new Student();

            System.out.println("输出你的抉择【0-7】");
            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;
            }
        }
    }
}

主类设计

零碎次要是针对学生问题信息管理的,所以咱们设计一个学生类,包含一系列属性(也就是简略的个人信息和各科问题);

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;
    //    高数
    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 以及构造函数
}

录入学生问题

首先录退学号,判断是否可用,不可用则从新输出,可用则输出其余信息;

而后将信息赋值到学生对象,最初将该学生对象退出汇合就能够了。

/**
* @param students 学生对象列表
* @return
* @description 录入学生信息
* @date 2021/4/5 9:14
* @author cunyu1943
* @version 1.0
*/
public void addScore(ArrayList<Student> students) {System.out.println("---------- 录入学生数据 ----------");
    System.out.println("请顺次输出如下数据:");
    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("数学");
    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 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 学生对象汇合
* @return
* @description 显示简略统计数据
* @date 2021/4/5 10:08
* @author cunyu1943
* @version 1.0
*/
public void showAvg(ArrayList<Student> students) {System.out.println("---------- 输入学生统计数据 ----------");
    if (students.size() == 0) {System.out.println("以后无数据,请先增加数据!");
    } 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("以后无数据,请增加后重试");
    } 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("对应学号的学生问题如下:");
            System.out.println("班级 \t\t 学号 \t\t 姓名 \t\t 数学 \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("以后无数据,请增加后重试");
    } else {System.out.println("请输出要批改学生的学号:");
        long id = scanner.nextLong();

        for (Student student : students) {if (id == student.getId()) {System.out.println("请从新输出该学生的问题");
                System.out.println("数学");
                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("以后无数据,请增加后重试");
    } 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:29
* @author cunyu1943
* @version 1.0
*/
public void sortStudent(ArrayList<Student> students) {if (students.isEmpty()) {System.out.println("以后无数据,请增加后重试");
    } 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 数学 \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:30
* @author cunyu1943
* @version 1.0
*/
public void showAllStudent(ArrayList<Student> students) {if (students.isEmpty()) {System.out.println("以后无数据,请先增加数据");
    } else {System.out.println("---------- 所有学生问题如下 ----------");
        System.out.println("班级 \t\t 学号 \t\t 姓名 \t\t 数学 \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 : 管理系统
 */

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("---------- 欢送应用学生问题管理系统 -----------");
            System.out.println("-------------【1】录入学生问题 -------------");
            System.out.println("-------------【2】显示统计数据 -------------");
            System.out.println("-------------【3】查找学生问题 -------------");
            System.out.println("-------------【4】批改学生问题 -------------");
            System.out.println("-------------【5】删除学生问题 -------------");
            System.out.println("-------------【6】按平均分排列 -------------");
            System.out.println("-------------【7】显示所有问题 -------------");
            System.out.println("-------------【0】退出管理系统 -------------");

            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;
    //    高数
    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("---------- 录入学生数据 ----------");
        System.out.println("请顺次输出如下数据:");
        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("数学");
        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 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 显示简略统计数据
     * @date 2021/4/5 10:08
     * @author cunyu1943
     * @version 1.0
     */
    public void showAvg(ArrayList<Student> students) {System.out.println("---------- 输入学生统计数据 ----------");
        if (students.size() == 0) {System.out.println("以后无数据,请先增加数据!");
        } 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("以后无数据,请增加后重试");
        } 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("对应学号的学生问题如下:");
                System.out.println("班级 \t\t 学号 \t\t 姓名 \t\t 数学 \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("以后无数据,请增加后重试");
        } else {System.out.println("请输出要批改学生的学号:");
            long id = scanner.nextLong();

            for (Student student : students) {if (id == student.getId()) {System.out.println("请从新输出该学生的问题");
                    System.out.println("数学");
                    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("以后无数据,请增加后重试");
        } 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("以后无数据,请先增加数据");
        } else {System.out.println("---------- 所有学生问题如下 ----------");
            System.out.println("班级 \t\t 学号 \t\t 姓名 \t\t 数学 \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("以后无数据,请增加后重试");
        } 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 数学 \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));
            }
        }
    }

}

总结

尽管性能比拟简陋,但还是须要肯定工夫来实现的。此外,本设计只是针对一次运行过程,一旦程序终止,录入的数据就无奈保留了,这一点须要留神。后续思考退出文件写入或者数据库的形式来实现该课程设计,以保留咱们所录入的数据。

正文完
 0