java程序设计学生管理系统系统设计

题目六:学生成绩管理系统设计学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(体育、高等数学、大学英语和计算机基础)等。主要功能:
(1) 能按学期、按班级完成对学生成绩的录入、修改
(2) 能按班级统计学生的成绩,求学生的总分及平均分
(3) 能查询学生成绩,不及格科目及学生名单(4) 能按班级输出学生的成绩单
要求:存储数据方式不限,系统以菜单方式工作

基于ChatGPT加以修改过后的回答:

img

【1】学生类



public class Student {
    private String term; // 学期
    private String id; // 学号
    private String className; // 班别
    private String name; // 姓名
    private double sportsScore; // 体育成绩
    private double mathScore; // 高等数学成绩
    private double englishScore; // 大学英语成绩
    private double computerScore; // 计算机基础成绩

    // 构造函数
    public Student(String term, String id, String className, String name, double sportsScore, double mathScore, double englishScore, double computerScore) {
        this.term = term;
        this.id = id;
        this.className = className;
        this.name = name;
        this.sportsScore = sportsScore;
        this.mathScore = mathScore;
        this.englishScore = englishScore;
        this.computerScore = computerScore;
    }

// getter和setter方法


    public String getTerm() {
        return term;
    }

    public void setTerm(String term) {
        this.term = term;
    }

    public String getId() {
        return id;
    }

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

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public String getName() {
        return name;
    }

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

    public double getSportsScore() {
        return sportsScore;
    }

    public void setSportsScore(double sportsScore) {
        this.sportsScore = sportsScore;
    }

    public double getMathScore() {
        return mathScore;
    }

    public void setMathScore(double mathScore) {
        this.mathScore = mathScore;
    }

    public double getEnglishScore() {
        return englishScore;
    }

    public void setEnglishScore(double englishScore) {
        this.englishScore = englishScore;
    }

    public double getComputerScore() {
        return computerScore;
    }

    public void setComputerScore(double computerScore) {
        this.computerScore = computerScore;
    }

    // 计算总分
    public double getTotalScore() {
        return sportsScore + mathScore + englishScore + computerScore;
    }

    // 计算平均分
    public double getAverageScore() {
        return getTotalScore() / 4;
    }

    // 判断是否不及格
    public boolean isFailed() {
        return sportsScore < 60 || mathScore < 60 || englishScore < 60 || computerScore < 60;
    }

    // 输出成绩单
    public void printScore() {
        System.out.println("学期:" + term);
        System.out.println("学号:" + id);
        System.out.println("班别:" + className);
        System.out.println("姓名:" + name);
        System.out.println("体育成绩:" + sportsScore);
        System.out.println("高等数学成绩:" + mathScore);
        System.out.println("大学英语成绩:" + englishScore);
        System.out.println("计算机基础成绩:" + computerScore);
        System.out.println("总分:" + getTotalScore());
        System.out.println("平均分:" + getAverageScore());
        if (isFailed()) {
            System.out.println("不及格科目:");
            if (sportsScore < 60) {
                System.out.println("体育");
            }
            if (mathScore < 60) {
                System.out.println("高等数学");
            }
            if (englishScore < 60) {
                System.out.println("大学英语");
            }
            if (computerScore < 60) {
                System.out.println("计算机基础");
            }
        }
    }
}


【2】成绩管理系统类:

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

public class ScoreManagementSystem {
private ArrayList<Student> students; // 学生列表

// 构造函数
public ScoreManagementSystem() {
    students = new ArrayList<Student>();
}

// 添加学生
public void addStudent(Student student) {
    students.add(student);
}

// 按学期查询学生
public void queryByTerm(String term) {
    System.out.println("查询结果:");
    for (Student student : students) {
        if (student.getTerm().equals(term)) {
            student.printScore();
        }
    }
}

// 按班级查询学生
public void queryByClass(String className) {
    System.out.println("查询结果:");
    for (Student student : students) {
        if (student.getClassName().equals(className)) {
            student.printScore();
        }
    }
}

// 修改学生成绩
public void updateScore(String id, String course, double score) {
    for (Student student : students) {
        if (student.getId().equals(id)) {
            switch (course) {
                case "体育":
                    student.setSportsScore(score);
                    break;
                case "高等数学":
                    student.setMathScore(score);
                    break;
                case "大学英语":
                    student.setEnglishScore(score);
                    break;
                case "计算机基础":
                    student.setComputerScore(score);
                    break;
                default:
                    System.out.println("错误:无效的课程名称");
                    break;
            }
            return;
        }
    }
    System.out.println("错误:找不到该学生");
}

// 统计班级成绩
public void statistics(String className) {
    int count = 0;
    double totalScore = 0;
    for (Student student : students) {
        if (student.getClassName().equals(className)) {
            count++;
            totalScore += student.getTotalScore();
        }
    }
    double averageScore = totalScore / count;
    System.out.println("班级:" + className);
    System.out.println("人数:" + count);
    System.out.println("总分:" + totalScore);
    System.out.println("平均分:" + averageScore);
}

// 查询不及格学生名单
public void queryFailedStudents() {
    System.out.println("不及格学生名单:");
    for (Student student : students) {
        if (student.isFailed()) {
            System.out.println(student.getName());
        }
    }
}

// 输出班级成绩单
public void printScoreList(String className) {
    System.out.println("班级成绩单:");
    for (Student student : students) {
        if (student.getClassName().equals(className)) {
            student.printScore();
        }
    }
}

// 菜单
public void menu() {
    Scanner scanner = new Scanner(System.in);
    while (true) {
        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. 退出");
        System.out.print("请输入操作编号:");
        int choice = scanner.nextInt();
        switch (choice) {
            case 1:
                System.out.print("请输入学期:");
                String term = scanner.next();
                System.out.print("请输入学号:");
                String id = scanner.next();
                System.out.print("请输入班别:");
                String className = scanner.next();
                System.out.print("请输入姓名:");
                String name = scanner.next();
                System.out.print("请输入体育成绩:");
                double sportsScore = scanner.nextDouble();
                System.out.print("请输入高等数学成绩:");
                double mathScore = scanner.nextDouble();
                System.out.print("请输入大学英语成绩:");
                double englishScore = scanner.nextDouble();
                System.out.print("请输入计算机基础成绩:");
                double computerScore = scanner.nextDouble();
                Student student = new Student(term, id, className, name, sportsScore, mathScore, englishScore, computerScore);
                addStudent(student);
                System.out.println("学生成绩录入成功");
                break;
            case 2:
                System.out.print("请输入学期:");
                term = scanner.next();
                queryByTerm(term);
                break;
            case 3:
                System.out.print("请输入班级:");
                className = scanner.next();
                queryByClass(className);
                break;
            case 4:
                System.out.print("请输入学号:");
                id = scanner.next();
                System.out.print("请输入课程名称:");
                String course = scanner.next();
                System.out.print("请输入成绩:");
                double score = scanner.nextDouble();
                updateScore(id, course, score);
                break;
            case 5:
                System.out.print("请输入班级:");
                className = scanner.next();
                statistics(className);
                break;
            case 6:
                queryFailedStudents();
                break;
            case 7:
                System.out.print("请输入班级:");
                className = scanner.next();
                printScoreList(className);
                break;
            case 0:
                System.out.println("程序已退出");
                return;
            default:
                System.out.println("错误:无效的操作编号");
                break;
        }
    }
}

// 测试
public static void main(String[] args) {
    ScoreManagementSystem system = new ScoreManagementSystem();
    system.menu();
}
}

【课程设计】2小时学会JavaSwing课程设计-万能模板-图书管理系统-[你的课程我设计]
这里有个万能模板,你直接套就行了

以下内容部分参考ChatGPT模型:


首先需要设计一个学生类和成绩类,学生类包含学号、班别和姓名等基本信息,成绩类包含体育、高等数学、大学英语和计算机基础成绩等信息。然后设计一个学生管理类,实现对学生信息和成绩的录入、修改和查询功能。可以通过输入学期和班级来完成对学生成绩的按学期、按班级分类查询。以下是简单的示例代码:

public class Student {
    private int id;
    private String name;
    private String className;

    public Student(int id, String name, String className) {
        this.id = id;
        this.name = name;
        this.className = className;
    }

    // getter and setter methods
}

public class Score {
    private int term;
    private int sportScore;
    private int mathScore;
    private int englishScore;
    private int computerScore;

    public Score(int term, int sportScore, int mathScore, int englishScore, int computerScore) {
        this.term = term;
        this.sportScore = sportScore;
        this.mathScore = mathScore;
        this.englishScore = englishScore;
        this.computerScore = computerScore;
    }

    // getter and setter methods
}

public class StudentManager {
    private List<Student> students = new ArrayList<>();
    private List<Score> scores = new ArrayList<>();

    public void addStudent(Student student) {
        students.add(student);
    }

    public void addScore(int studentId, Score score) {
        scores.add(score);
    }

    public void updateScore(int studentId, int term, int sportScore, int mathScore, int englishScore, int computerScore) {
        for (Score score : scores) {
            if (score.getTerm() == term && score.getStudentId() == studentId) {
                score.setSportScore(sportScore);
                score.setMathScore(mathScore);
                score.setEnglishScore(englishScore);
                score.setComputerScore(computerScore);
                break;
            }
        }
    }

    public List<Score> getScoresByTerm(int term) {
        List<Score> result = new ArrayList<>();
        for (Score score : scores) {
            if (score.getTerm() == term) {
                result.add(score);
            }
        }
        return result;
    }

    public List<Score> getScoresByClass(String className) {
        List<Score> result = new ArrayList<>();
        for (Score score : scores) {
            if (getStudentById(score.getStudentId()).getClassName().equals(className)) {
                result.add(score);
            }
        }
        return result;
    }

    private Student getStudentById(int id) {
        for (Student student : students) {
            if (student.getId() == id) {
                return student;
            }
        }
        return null;
    }
}

如果我的建议对您有帮助、请点击采纳、祝您生活愉快