小工具知识网

当前位置: 首页 > 行业知识 > 学生成绩管理系统(Java)

行业知识

学生成绩管理系统(Java)

2026-10-26 17:28:43 来源:互联网转载

开发环境: Windows 11 IDEA 2021.3.3


需求:


package com.it.neu;import java.util.ArrayList;import java.util.Scanner;import static java.time.Clock.system;class Student {      //创建学生类    private String Stu_name;    private String Stu_id;    public Student(String id, String name) {        this.Stu_id = id;        this.Stu_name = name;    }    public String getStu_name() {        return Stu_name;    }    public void setStu_name(String stu_name) {        Stu_name = stu_name;    }    public String getStu_id() {        return Stu_id;    }    public void setStu_id(String stu_id) {        Stu_id = stu_id;    }}class Course {       //创建课程类    private String Course_name;    public Course(String course_name) {        this.Course_name = course_name;    }    public String getCourse_name() {        return Course_name;    }    public void setCourse_name(String course_name) {        Course_name = course_name;    }}class Score {        //创建成绩表类    private int rank;       //序号--代表进入成绩管理系统的位次    private Student student;    private Course course;    private double grade;  //代表成绩的意思    public Score(int rank, Student student, Course course, double grade) {        this.rank = rank;        this.student = student;        this.course = course;        this.grade = grade;    }    public int getRank() {        return rank;    }    public void setRank(int rank) {        this.rank = rank;    }    public Student getStudent() {        return student;    }    public void setStudent(Student student) {        this.student = student;    }    public Course getCourse() {        return course;    }    public void setCourse(Course course) {        this.course = course;    }    public double getGrade() {        return grade;    }    public void setGrade(double grade) {        this.grade = grade;    }}class StudentScoreManager {      //创建一个成绩管理的类    private ArrayList scores;//新建一个类的数组    public StudentScoreManager() {        scores = new ArrayList();    } //初始化这个类成员数组    //通过调用manager.addScore(score)方法,将score对象添加到scores列表中。    // 如果这个方法成功执行并返回true,那么score对象就会被添加到scores列表中。    public boolean addScore(Score score) {        return scores.add(score); // 将score对象添加到列表中,并返回添加操作的结果    }    //删除学生成绩的功能,某一门课//同时判断是否删除成功    public boolean removeScore(Student student, Course course) {        for (Score score : scores) {            if (score.getStudent().getStu_id().equals(student.getStu_id()) && score.getStudent().getStu_name().equals(student.getStu_name()) && score.getCourse().getCourse_name().equals(course.getCourse_name())) {                scores.remove(score);                return true;            }        }        return false;    }    //实现修改成学生成绩功能    public boolean changeScore(Student student, Course course, double newGrade) {        for (Score score : scores) {            if (score.getStudent().getStu_id().equals(student.getStu_id()) && score.getStudent().getStu_name().equals(student.getStu_name()) && score.getCourse().getCourse_name().equals(course.getCourse_name())) {                score.setGrade(newGrade);                return true;            }        }        return false;    }    //实现计算某门课平均成绩的功能    public double getAverageGrade(Course course) {        double sum = 0;        int count = 0;        for (Score score : scores) {            if (score.getCourse().getCourse_name().equals(course.getCourse_name())) { //找到这门课了                sum += score.getGrade();                count++;            }        }        return count > 0 ? sum / count : 0;    }    //查找某门课的最高成绩    public double getHighesrGrade(Course course) {       //某门课的最高成绩        double higest = 0;        for (Score score : scores) {            if (score.getCourse().getCourse_name().equals(course.getCourse_name()) && score.getGrade() > higest) {                higest = score.getGrade();            }        }        return higest;    }    //查找某门课的最低成绩    public double getLowestGrade(Course course) {        double lowest = 100;        for (Score score : scores) {            if (score.getCourse().getCourse_name().equals(course.getCourse_name()) && score.getGrade()  Double.compare(s2.getGrade(), s1.getGrade()));    }    public void printScores() {        sortScores();        for (Score score : scores) {            System.out.println(score.getRank() + " " + score.getStudent().getStu_id() + " " + score.getStudent().getStu_name() + " " + score.getCourse().getCourse_name() + " " + score.getGrade());        }    }    public boolean printfixScores(Student student) {        int count = 0;        for (Score score : scores) {            if (score.getStudent().getStu_id().equals(student.getStu_id()) && score.getStudent().getStu_name().equals(student.getStu_name())) {                System.out.println(score.getCourse().getCourse_name() + "的成绩是" + score.getGrade());                count++;            }        }        return count > 0 ? true : false;    }    //获取scores类list的长度    public int getScoresLength() {        return scores.size();    }}public class Work {    public static void printmenu() {        System.out.println("---------------------------------------");        System.out.println("欢迎使用学生成绩管理系统");        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("0. 退出系统");        System.out.println("---------------------------------------");        System.out.print("请输入操作序号:");    }    public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);        StudentScoreManager manager = new StudentScoreManager();        while (true) {            printmenu();            int opeartion = scanner.nextInt();            if (opeartion  6) {                System.out.println("没有这个选项,请重新选择!");                continue;            }            scanner.nextLine();            switch (opeartion) {                case 1: {                    System.out.println("您正在使用功能一:添加学生成绩");                    System.out.println("---------------------------------------");                    System.out.println("请输入学生学号:");                    String id = scanner.nextLine();                    System.out.println("请输入学生姓名:");                    String name = scanner.nextLine();                    System.out.println("请输入课程名称:");                    String courseName = scanner.nextLine();                    System.out.println("请输入成绩:");                    double grade = scanner.nextDouble();                    //新建临时类来存储输入的数据                    Student student = new Student(id, name);                    Course course = new Course(courseName);                    Score score = new Score(manager.getScoresLength() + 1, student, course, grade);                    //将这个临时的数据塞入,manager这个类的scores-list中,                    if (manager.addScore(score)) {                        System.out.println("添加成绩数据成功!");                    } else {                        System.out.println("添加成绩数据失败!");                    }                    // 等待用户按下回车键继续执行                    System.out.println("按下回车键继续...");                    scanner.nextLine();                    break;                }                case 2: {                    System.out.println("您正在使用功能二:删除学生成绩");                    System.out.println("---------------------------------------");                    System.out.println("请输入学生学号:");                    String id = scanner.nextLine();                    System.out.println("请输入学生姓名:");                    String name = scanner.nextLine();                    System.out.println("请输入课程名称:");                    String courseName = scanner.nextLine();                    Student student = new Student(id, name);                    Course course = new Course(courseName);                    if (manager.removeScore(student, course)) {                        System.out.println("删除学生成绩成功!");                    } else {                        System.out.println("删除学生成绩失败!没有找到此人");                    }                    // 等待用户按下回车键继续执行                    System.out.println("按下回车键继续...");                    scanner.nextLine();                    break;                }                case 3: {                    System.out.println("您正在使用功能三:修改学生成绩");                    System.out.println("---------------------------------------");                    System.out.println("请输入学生学号:");                    String id = scanner.nextLine();                    System.out.println("请输入学生姓名:");                    String name = scanner.nextLine();                    System.out.println("请输入课程名称:");                    String courseName = scanner.nextLine();                    System.out.println("请输入新的成绩:");                    double newGrade = scanner.nextDouble();                    Student student = new Student(id, name);                    Course course = new Course(courseName);                    if (manager.changeScore(student, course, newGrade)) {                        System.out.println("修改学生成绩成功!");                    } else {                        System.out.println("修改学生成绩失败!没有找到此人");                    }                    break;                }                case 4: {                    System.out.println("您正在使用功能四:计算课程平均-最高-最低-成绩");                    System.out.println("---------------------------------------");                    System.out.println("请输入课程名称:");                    String courseName = scanner.nextLine();                    Course course = new Course(courseName);                    double average = manager.getAverageGrade(course);                    double higest = manager.getHighesrGrade(course);                    double lowest = manager.getLowestGrade(course);                    System.out.println(courseName + "的平均成绩为:" + average);                    System.out.println(courseName + "的最高成绩为:" + higest);                    System.out.println(courseName + "的最低成绩为:" + lowest);                    // 等待用户按下回车键继续执行                    System.out.println("按下回车键继续...");                    scanner.nextLine();                    break;                }                case 5: {                    System.out.println("您正在使用功能五:查询学生成绩");                    System.out.println("---------------------------------------");                    System.out.println("请输入学生学号:");                    String id = scanner.nextLine();                    System.out.println("请输入学生姓名:");                    String name = scanner.nextLine();                    Student student = new Student(id, name);                    if (manager.printfixScores(student)) {                        //判断的同时可以调用                    } else {                        System.out.println("没有找到此人");                    }                    // 等待用户按下回车键继续执行                    System.out.println("按下回车键继续...");                    scanner.nextLine();                    break;                }                case 6: {                    System.out.println("您正在使用功能六:对成绩进行排序并打印所有成绩");                    System.out.println("---------------------------------------");                    manager.printScores();                    // 等待用户按下回车键继续执行                    System.out.println("按下回车键继续...");                    scanner.nextLine();                    break;                }            }        }    }}

 

 

上一篇:【vue2】使用vue常见的业务流程与实现思路

下一篇:揭秘闪电接口,快速充电与数据传输背后的科技力量