【Java程序设计】学生成绩管理系统

这篇具有很好参考价值的文章主要介绍了【Java程序设计】学生成绩管理系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 相关文章:

【Java程序设计】宠物商店管理系统

【Java程序设计】Java基础知识实验

对于学生成绩管理系统,主要可以分为如下几个功能:

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

进入系统之后,我们应该有系统菜单,然后根据提示选择我们所要进行的操作。

java成绩管理系统,java,开发语言

(1)录入学生成绩

该功能是每次录入学生的成绩信息,或者在当前数据的基础上添加录入新的学生成绩信息;

java成绩管理系统,java,开发语言

核心代码:

//录入学生信息
    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("添加成功");
    }

2)统计学生成绩

主要是对学生的成绩进行统计,然后输出平均分,并打印出对应信息;

java成绩管理系统,java,开发语言

核心代码:

 //显示简单统计数据
    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));
            }
        }
    }

3)查找学生成绩

根据输入的学号来查找对应学生的相关成绩信息;

java成绩管理系统,java,开发语言

核心代码:

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("查找信息成功!");
            }

4)修改学生成绩

根据输入的学号来对对应学生的成绩进行修改;

java成绩管理系统,java,开发语言

代码块:


                    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;
            }
        }
    }

5)删除学生成绩

根据输入的学生学号,删除对应学生的成绩信息;

java成绩管理系统,java,开发语言

核心判断:

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("----------删除成功----------");
            }
        }

6)排序(使用平均分来进行排序)

在我们排序前先再次进行录入数据

java成绩管理系统,java,开发语言

java成绩管理系统,java,开发语言

按照从大到小排序;

java成绩管理系统,java,开发语言

核心代码:

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);
                }
            }

                                

7)显示所有成绩

简单遍历所有学生成绩,然后打印出来;

java成绩管理系统,java,开发语言

完整代码:

1Student

import java.util.*;

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;// 体育
    private float java;// Java
    private float cPlusPlus;// C++
    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;
    }

    //录入学生信息
    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("添加成功");
    }

    //判断学号是否可用
    public boolean isValid(ArrayList<Student> students, long id) {
        for (Student student : students) {
            if (student.getId() == id) {
                return true;
            }
        }
        return false;
    }

    //显示简单统计数据
    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));
            }
        }
    }

    //查找对应学号学生的成绩信息
    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("查找信息成功!");
            }
        }

    }

    //修改对应学号学生的信息
    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;
            }
        }
    }

    //删除学生成绩
    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("----------删除成功----------");
            }
        }
    }

    //显示所有学生成绩
    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));
            }
        }
    }

    //按照平均分排序
    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));
            }
        }
    }

}

2Main文章来源地址https://www.toymoban.com/news/detail-798107.html

import java.util.*;

public class Main {
    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;
            }
        }
    }
}

到了这里,关于【Java程序设计】学生成绩管理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Java设计学生成绩管理系统

    Java设计学生成绩管理系统

    1.1 题目与要求 设计一个学生成绩排名系统 实现以下功能: (1) 具备对成绩的管理功能(添加、删除、排序); (2) 具备对成绩的统计功能(最高分,最低分,平均分,及格率等); (3) 具备按学号、姓名查询成绩的功能; (4) 具备处理解决学号重复问题 ; 备注:成绩记录以下

    2024年02月09日
    浏览(12)
  • Java课程设计——学生成绩管理系统

    Java课程设计——学生成绩管理系统

    1 需求分析 1.1 需求分析概述 需求分析是开发软件系统的重要环节,是系统开发的第一步和基础环节。通过需求分析充分认识系统的目标、系统的各个组成部分、各部分的任务职责、工作流程、工作中使用的各种数据及数据结构、各部门的业务关系和数据流程等, 为系统设计

    2024年02月03日
    浏览(13)
  • 程序设计课程设计——学生学籍管理系统

    程序设计课程设计——学生学籍管理系统

    通过设计一个小型的应用系统,使学生进一步掌握面向对象的程序设计方法,运用C++中的类与对象的概念结合面向对象程序设计的思想,独立完成应用系统的设计,并养成良好的编程习惯。通过这个实践教学平台,培养学生对计算机应用系统的综合设计能力,培养学生正确分

    2024年02月09日
    浏览(13)
  • C语言程序设计——设计一个学生管理系统(完美运行的程序(●‘◡‘●))

    C语言程序设计——设计一个学生管理系统(完美运行的程序(●‘◡‘●))

    通过c语言设计一个学生管理系统,要求有直观的主菜单,可以录入学生的信息,实现添加学生信息、显示学生信息、查找学生信息、删除学生信息、修改学生信息以及退出等功能。 1、首先因为学生有以下几个基本信息:姓名、年龄、学号、性别,依次由name、age、id和sex来表

    2024年02月08日
    浏览(10)
  • 程序设计基础大作业——学生管理系统

    程序设计基础大作业——学生管理系统

    声明:这是本人所写的程序设计期末大作业实验报告,可供大家学习和参考,也希望能得到一些建议和改正,但如果只为抄袭代码,本人必究! 目录 一、任务描述 二、代码实现 三、运行结果 四、实验体会 写一个命令行交互式C语言程序。该程序需要实现下述菜单功能: 1

    2024年02月10日
    浏览(12)
  • ASP.NET程序设计课程设计——学生信息管理系统

    ASP.NET程序设计课程设计——学生信息管理系统

    点击查看详细信息 ASP.NET程序设计课程设计——学生信息管理系统 一、实验目的 综合运用们所学的ASP.NET知识,开发学生信息管理系统,完成相关功能: (1)教师管理 (2)学生信息 (3)课程信息 (4)成绩管理 (5)班级管理 二、实验环境 (1)Windows 10 (2)Visual Studio 2

    2024年02月03日
    浏览(13)
  • C语言程序设计——学生学籍管理系统

    C语言程序设计——学生学籍管理系统

    一、题目设计及其要求 1、题目:学生学籍管理系统 用数据文件存放学生的学籍,可对学生学籍进行注册、修改、查找、统计、学籍变化等操作。(用文件保存) 2、功能要求: (1)系统以菜单方式工作; (2)登记学生的学号,姓名,性别,年龄,籍贯,学院,专业,班级

    2024年02月11日
    浏览(9)
  • Java 学生成绩管理系统 带详细设计报告 功能非常齐全 完整源码

    Java 学生成绩管理系统 带详细设计报告 功能非常齐全 完整源码

    今天为大家分享一个java语言编写的学生成绩管理系统,目前系统功能已经很全面,后续会进一步完善。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步 开发语言为Java,开发环境Eclipse或者IDEA都可以,数据为MySQL。运行主程

    2024年02月11日
    浏览(16)
  • 学生管理系统实验报告-asp.net程序设计

    学生管理系统实验报告-asp.net程序设计

    课程名称 ASP.NET程序设计 实验名称 学生信息管理系统 下载链接:https://download.csdn.net/download/mariodf/85671926?spm=1001.2014.3001.5501 目录 一、实验目的 ... 3 二、实验环境 ... 3 1. 运行环境 .. 3 2. 开发工具 .. 3 三、实验设计 ... 3 1. 系统框架 .. 3 2. 系统总体设计 .. 4 3. 数据库表结构设计

    2024年02月04日
    浏览(10)
  • 基于Python 课程设计-学生管理系统(附源码+可执行程序)

    基于Python 课程设计-学生管理系统(附源码+可执行程序)

    基于Python 课程设计-学生管理系统(附源码+可执行程序) 非常完整的一个项目,可以作为课程设计去学习。 本系统的完整源码在文章结尾处,大家自行获取即可。 本系统的软件开发及运行环境具体如下。 操作系统:Windows 7、Windows 10。 Python版本:Python 3.7.0。 开发工具

    2024年02月06日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包