JAVA学生成绩管理系统

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

只写了最基本的增删改查,其中可能会有一些没考虑到的地方。结尾有完整代码

首先是main方法

    public static void main(String[] args) throws Exception {
        //创建Scanner对象和ArrayList集合
        Scanner sc = new Scanner(System.in);
        ArrayList<Student> students = new ArrayList<>();
        //放入死循环能一直运行
        while (true) {
            Welcome();
            Menu(sc, students);
        }
    }

然后是菜单和欢迎页面

   //欢迎界面
    private static void Welcome() {
        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("0.退出系统");
    }

    //真正的菜单
    private static void Menu(Scanner sc, ArrayList<Student> students) {
        switch (sc.next()) {
            case "1" -> add(sc, students);                //添加学生信息
            case "2" -> deleteMessage(sc, students);      //删除学生信息
            case "3" -> change(sc, students);            //修改学生信息
            case "4" -> Search(sc, students);             //查询学生信息
            case "5" -> show(students);                   //列出所有学生的成绩
            case "0" -> System.exit(0);
        }
    }

1:添加学生信息

private static void add(Scanner sc, ArrayList<Student> students) {

        Student s = new Student();
        StudentMessage(sc, s);
        students.add(s);
    }

2:删除学生信息

 //"2"->删除学生信息
    private static void deleteMessage(Scanner sc, ArrayList<Student> students) {
        if (judge(students)) {
            System.out.println("请输入要删除学生的姓名");
            String next = sc.next();
            for (int i = 0; i < students.size(); i++) {
                Student student = students.get(i);
                if (student.getName().equals(next)) {
                    System.out.println("学号\t\t姓名\t\t性别\t\t年龄\t\t语文\t\t数学\t\t英语");
                    showMessage(student);
                    System.out.println("确定要删除吗?Y/N");
                    if (sc.next().equalsIgnoreCase("Y")) {
                        students.remove(i);
                        System.out.println("删除成功!");
                    } else {
                        System.out.println("删除失败!退回菜单页");
                    }
                    return;
                }
            }
            System.out.println("没有找到该学生!");
        } else {
            System.out.println("操作失败!");
        }
    }

3:修改学生信息

//"3"->修改学生信息
    private static void change(Scanner sc, ArrayList<Student> students) {
        if (judge(students)) {
            System.out.println("请输入要修改信息的学生姓名");
            String n = sc.next();
            for (Student student : students) {
                if (student.getName().equals(n)) {
                    StudentMessage(sc, student);
                    return;
                }
            }
        } else {
            System.out.println("操作失败");
        }
    }

4:查询单个学生信息

 //  "4"->查询单个学生信息
    private static void Search(Scanner sc, ArrayList<Student> students) {
        if (judge(students)) {
            System.out.println("请输入要查询的学生姓名");
            String next = sc.next();
            for (Student student : students) {
                if (student.getName().equals(next)) {
                    System.out.println("学号\t\t姓名\t\t性别\t\t年龄\t\t语文\t\t数学\t\t英语");
                    showMessage(student);
                    return;
                }
            }
            System.out.println("没有找到该学生的信息!");
        } else {
            System.out.println("操作失败!");
        }
    }

5:列出所有学生信息

//  "5"->列出所有学生
    private static void show(ArrayList<Student> students) {
        if (judge(students)) {
            System.out.println("学号\t\t姓名\t\t性别\t\t年龄\t\t语文\t\t数学\t\t英语");
            for (Student student : students) {
                showMessage(student);
            }
        } else {
            System.out.println("操作失败!");
        }
    }

用到的其他方法:

 private static void StudentMessage(Scanner sc, Student s) {
        System.out.println("请输入学生的学号:");
        s.setId(sc.next());
        System.out.println("请输入学生的姓名:");
        s.setName(sc.next());
        System.out.println("请输入学生的年龄:");
        s.setAge(sc.nextInt());
        while (true) {
            System.out.println("请输入学生的性别:");
            String next = sc.next();
            if (next.equals("女") || next.equals("男")) {
                s.setGender(next);
                break;
            } else {
                System.out.println("性别只有男女,没有你说的这个,请重新输入");
            }
        }

        while (true) {
            System.out.println("请输入学生的语文成绩:");
            double v = scanScore(sc);
            if (v != -1) {
                s.setChinese_score(v);
                break;
            }
        }
        while (true) {
            System.out.println("请输入学生的数学成绩:");
            double v = scanScore(sc);
            if (v != -1) {
                s.setMath_score(v);
                break;
            }
        }
        while (true) {
            System.out.println("请输入学生的英语成绩:");
            double v = scanScore(sc);
            if (v != -1) {
                s.setEnglish_score(v);
                break;
            }
        }
    }

    //根据Student对象展示单个学生的信息
    private static void showMessage(Student student) {
        System.out.println(student.getId() + "\t\t" + student.getName() + "\t\t" + student.getGender() +
                "\t\t" + student.getAge() + "\t\t" + student.getChinese_score() + "\t\t" + student.getMath_score() +
                "\t\t" + student.getEnglish_score());
    }

    //判断系统中是否有学生信息
    private static boolean judge(ArrayList<Student> students) {
        if (students.size() == 0) {
            System.out.println("还没有学生信息呢,请添加后再进行后续操作");
            return false;
        }
        return true;
    }


    private static double scanScore(Scanner sc) {
        double v = sc.nextDouble();
        if (v > 100 || v < 0) {
            System.out.println("输入成绩不在允许范围内,请重新输入");
            return -1;
        }
        return v;
    }

完整发一下代码:

学生类:



public class Student {
    private String id;
    private String name;
    private int age;
    private String gender;
    private double Math_score;
    private double Chinese_score;
    private double English_score;

    public Student() {
    }

    public Student(String id, String name, int age, String gender, double math_score, double chinese_score, double english_score) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.gender = gender;
        Math_score = math_score;
        Chinese_score = chinese_score;
        English_score = english_score;
    }

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public double getMath_score() {
        return Math_score;
    }

    public void setMath_score(double math_score) {
        Math_score = math_score;
    }

    public double getChinese_score() {
        return Chinese_score;
    }

    public void setChinese_score(double chinese_score) {
        Chinese_score = chinese_score;
    }

    public double getEnglish_score() {
        return English_score;
    }

    public void setEnglish_score(double english_score) {
        English_score = english_score;
    }

    public String getId() {
        return id;
    }

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

StudentSystem类:



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

//学生信息管理系统
//功能:增、删、改、查
public class StudentSystem {

    public static void main(String[] args) throws Exception {
        //创建Scanner对象和ArrayList集合
        Scanner sc = new Scanner(System.in);
        ArrayList<Student> students = new ArrayList<>();
        //放入死循环能一直运行
        while (true) {
            Welcome();
            Menu(sc, students);
        }
    }

    //欢迎界面
    private static void Welcome() {
        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("0.退出系统");
    }

    //真正的菜单
    private static void Menu(Scanner sc, ArrayList<Student> students) {
        switch (sc.next()) {
            case "1" -> add(sc, students);                //添加学生信息
            case "2" -> deleteMessage(sc, students);      //删除学生信息
            case "3" -> change(sc, students);            //修改学生信息
            case "4" -> Search(sc, students);             //查询学生信息
            case "5" -> show(students);                   //列出所有学生的成绩
            case "0" -> System.exit(0);
        }
    }

    //  "1"->添加学生信息
    private static void add(Scanner sc, ArrayList<Student> students) {

        Student s = new Student();
        StudentMessage(sc, s);
        students.add(s);
    }

    //"2"->删除学生信息
    private static void deleteMessage(Scanner sc, ArrayList<Student> students) {
        if (judge(students)) {
            System.out.println("请输入要删除学生的姓名");
            String next = sc.next();
            for (int i = 0; i < students.size(); i++) {
                Student student = students.get(i);
                if (student.getName().equals(next)) {
                    System.out.println("学号\t\t姓名\t\t性别\t\t年龄\t\t语文\t\t数学\t\t英语");
                    showMessage(student);
                    System.out.println("确定要删除吗?Y/N");
                    if (sc.next().equalsIgnoreCase("Y")) {
                        students.remove(i);
                        System.out.println("删除成功!");
                    } else {
                        System.out.println("删除失败!退回菜单页");
                    }
                    return;
                }
            }
            System.out.println("没有找到该学生!");
        } else {
            System.out.println("操作失败!");
        }
    }

    //"3"->修改学生信息
    private static void change(Scanner sc, ArrayList<Student> students) {
        if (judge(students)) {
            System.out.println("请输入要修改信息的学生姓名");
            String n = sc.next();
            for (Student student : students) {
                if (student.getName().equals(n)) {
                    StudentMessage(sc, student);
                    return;
                }
            }
        } else {
            System.out.println("操作失败");
        }
    }


    //  "4"->查询单个学生信息
    private static void Search(Scanner sc, ArrayList<Student> students) {
        if (judge(students)) {
            System.out.println("请输入要查询的学生姓名");
            String next = sc.next();
            for (Student student : students) {
                if (student.getName().equals(next)) {
                    System.out.println("学号\t\t姓名\t\t性别\t\t年龄\t\t语文\t\t数学\t\t英语");
                    showMessage(student);
                    return;
                }
            }
            System.out.println("没有找到该学生的信息!");
        } else {
            System.out.println("操作失败!");
        }
    }

    //  "5"->列出所有学生
    private static void show(ArrayList<Student> students) {
        if (judge(students)) {
            System.out.println("学号\t\t姓名\t\t性别\t\t年龄\t\t语文\t\t数学\t\t英语");
            for (Student student : students) {
                showMessage(student);
            }
        } else {
            System.out.println("操作失败!");
        }
    }

    private static void StudentMessage(Scanner sc, Student s) {
        System.out.println("请输入学生的学号:");
        s.setId(sc.next());
        System.out.println("请输入学生的姓名:");
        s.setName(sc.next());
        System.out.println("请输入学生的年龄:");
        s.setAge(sc.nextInt());
        while (true) {
            System.out.println("请输入学生的性别:");
            String next = sc.next();
            if (next.equals("女") || next.equals("男")) {
                s.setGender(next);
                break;
            } else {
                System.out.println("性别只有男女,没有你说的这个,请重新输入");
            }
        }

        while (true) {
            System.out.println("请输入学生的语文成绩:");
            double v = scanScore(sc);
            if (v != -1) {
                s.setChinese_score(v);
                break;
            }
        }
        while (true) {
            System.out.println("请输入学生的数学成绩:");
            double v = scanScore(sc);
            if (v != -1) {
                s.setMath_score(v);
                break;
            }
        }
        while (true) {
            System.out.println("请输入学生的英语成绩:");
            double v = scanScore(sc);
            if (v != -1) {
                s.setEnglish_score(v);
                break;
            }
        }
    }

    //根据Student对象展示单个学生的信息
    private static void showMessage(Student student) {
        System.out.println(student.getId() + "\t\t" + student.getName() + "\t\t" + student.getGender() +
                "\t\t" + student.getAge() + "\t\t" + student.getChinese_score() + "\t\t" + student.getMath_score() +
                "\t\t" + student.getEnglish_score());
    }

    //判断系统中是否有学生信息
    private static boolean judge(ArrayList<Student> students) {
        if (students.size() == 0) {
            System.out.println("还没有学生信息呢,请添加后再进行后续操作");
            return false;
        }
        return true;
    }


    private static double scanScore(Scanner sc) {
        double v = sc.nextDouble();
        if (v > 100 || v < 0) {
            System.out.println("输入成绩不在允许范围内,请重新输入");
            return -1;
        }
        return v;
    }


}

这就是所有内容了,这篇文章可用于学校作业(*^_^*),但主要学习思路,我的代码也不是最简单的,其中有很多地方还可以简化,这只是我学习Java的练手作品,请酌情观看。

占位置的文字,用于消除改进质量的提醒文章来源地址https://www.toymoban.com/news/detail-531450.html

占位置的文字,用于消除改进质量的提醒

占位置的文字,用于消除改进质量的提醒

占位置的文字,用于消除改进质量的提醒

占位置的文字,用于消除改进质量的提醒

占位置的文字,用于消除改进质量的提醒

占位置的文字,用于消除改进质量的提醒

占位置的文字,用于消除改进质量的提醒

占位置的文字,用于消除改进质量的提醒

占位置的文字,用于消除改进质量的提醒

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

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

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

相关文章

  • Java学生成绩管理系统(完善版)

    之前发的Java学生成绩管理系统博文只有代码,为更加完善Java学生成绩管理系统,所以增加了控制台运行结果显示以及功能实现等图片; 本学生成绩管理系统是我在上学时写的,有一些地方没能完美实现,请包涵也请多赐教,但这个博文会满足部分大学学生的需求 该系统只能

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

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

    2024年02月03日
    浏览(58)
  • 【Java程序设计】学生成绩管理系统

     相关文章: 【Java程序设计】宠物商店管理系统 【Java程序设计】Java基础知识实验 对于学生成绩管理系统,主要可以分为如下几个功能: 录入学生成绩 统计学生成绩 查找学生成绩 修改学生成绩 删除学生成绩 按平均分排序 显示所有成绩 退出管理系统 进入系统之后,我们

    2024年01月17日
    浏览(32)
  • 基于Java+MySQL的学生成绩管理系统

    目 录 第1章 绪 论 2 1.1 课题研究背景 2 1.2 课题研究意义 2 1.3 国内外的发展状况 2 第2章 开发环境 3 2.1 Java技术简介 3 2.2 Mysql简介 3 2.3 JDBC简介 3 2.4其他技术简介 3 第3章 系统需求分析 4 第4章 系统概要设计 5 第5章 系统详细设计及实现 6 5.1 详细设计思想 6 5.2 登录模块设计与实现

    2024年02月09日
    浏览(25)
  • Java基础——学生成绩信息管理系统(简单实现)

    1、 定义一个学生类 Student,包含姓名、成绩信息; 2、使用 ArrayList集合存储学生对象; 3、 对集合中的元素进行增删查改的操作。 学生类可以包含姓名、成绩、学号、年龄等等,这里只包含了前两项学生类属性。 在该类中定义了简单的增、删、查、改的方法。 其中,遍历集

    2024年02月11日
    浏览(21)
  • JSP 学生成绩查询管理系统eclipse开发sql数据库serlvet框架bs模式java编程MVC结构

    一、源码特点   JSP 学生成绩查询管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,比较流行的servlet框架系统具有完整的源代码和数据库,eclipse开发系统主要采用B/S模式 开发。 java 学生成绩查询管理系统 代码下载链接 https://download.csdn.net/download/qq_412

    2024年02月05日
    浏览(48)
  • 学生成绩管理系统(JAVA_GUI+Mysql)

    提示:该系统是基于Java界面编程+mysql的 源码在这里,需要的自取 SAMS分享包 提取码: 49ji SAMS学生成绩管理系统功能展示 IDEA开发工具 Java界面编程 jdk1.8 mysql8.0.26 Druid数据连接池 MVC三层架构模型 exe4j可执行文件生成工具(将jar包变成可运行的exe程序) 三层架构简单介绍: 三层

    2024年02月06日
    浏览(36)
  • 【Java】学生成绩管理系统(图形化界面实现相关功能)

    从功能的代码实现到界面的展示整个制作过程全部用Java语言实现。         1、在idea创建一个工程文件,在工程文件下创建一个model模块,在model模块下载创建三个package包分别用来存放(BackEndCode)后端代码包、(MainExe)主程序包、(WebCode)界面实现代码包,再在三个包中创建如

    2024年02月03日
    浏览(36)
  • 用Java创建一个学生成绩管理系统登陆界面(初级)

    目录 任务与要求 代码部分 部分代码: 完整代码: 使用eclipse.exe创建一个登录界面,如图1所示,当用户名输入“lili”,密码输入“123456”后,弹出主菜单窗体,如图2(a)所示。鼠标箭头在主菜单窗体点“操作菜单”会弹出操作子菜单窗体,如图2(b)所示。鼠标箭头在主菜单

    2024年02月11日
    浏览(27)
  • Java项目:18 基于SpringBoot的学生成绩管理系统

    作者主页:舒克日记 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 基于springboot的学生成绩管理系统主要功能 分为两个端,教师和学生 教师的主要功能:学生信息、成绩信息的增删改查 学生的主要功能:我的成绩、我的总成绩的查看 1.运行环境:

    2024年02月21日
    浏览(31)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包