用Java实现学生管理系统(附项目详细的介绍和源代码)

这篇具有很好参考价值的文章主要介绍了用Java实现学生管理系统(附项目详细的介绍和源代码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:最近练习了用Java语言实现简单的学生管理系统小项目,分享一下。

Ps:原创不易,请多多支持!

摘要分析如下:

实现的主要功能:

1,添加学生信息。

2,查询学生信息(实现了单个学生信息查询 & 所有学生信息查询)。

3,修改学生信息。

4,删除学生信息(实现了单个学生信息删除 & 所有学生信息删除)。

5,退出管理系统。

项目说明:

用Java实现学生管理系统(附项目详细的介绍和源代码)

cn.yunhe.bean包:

Student:代表“学生实体类”。

cn.yunhe.utils包:

StudentTools:代表“工具类”。Scanner键盘录入工具类。

cn.yunhe.view包:

StudentFunction:代表“增、删、改、查功能”。

StudentView:代表“项目视图功能”。

源代码如下:

cn.yunhe.bean包:

package cn.yunhe.bean;

/**
 * @Auther: xydsr
 * @Date: 2023/4/3 16:58
 * @Desc:   学生管理系统
 *          创建学生类,定义私有成员变量,
 *          并定义构造方法和get、set方法
 **/

public class Student {

    //定义私有成员属性
    private int id;
    private  String name;
    private  double score;

    //创建构造方法(无参和有参构造)
    public Student() {
    }

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

    //创建set、get方法
    public int getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

    public double getScore() {
        return score;
    }

    public void setScore(double score) {
        this.score = score;
    }
}

cn.yunhe.utils包:

package cn.yunhe.utils;

import java.util.Scanner;

/**
 * @Auther: xydsr
 * @Date: 2023/4/4 17:26
 * @Desc:
 **/

public class StudentTools {
    public static int ScannerId() {
        // System.out.println("请输入学生的学号:");
        Scanner sc = new Scanner(System.in);
        return sc.nextInt();
    }

    public static String ScannerName() {
        // System.out.println("请输入学生的姓名:");
        Scanner sc = new Scanner(System.in);
        return sc.nextLine();
    }

    public static double ScannerScore() {
        // System.out.println("请输入学生的成绩:");
        Scanner sc = new Scanner(System.in);
        return sc.nextDouble();
    }
}

cn.yunhe.view包:

package cn.yunhe.view;

import cn.yunhe.bean.Student;
import cn.yunhe.utils.StudentTools;

import java.util.ArrayList;

/**
 * @Auther: xydsr
 * @Date: 2023/4/4 16:06
 * @Desc: 学生管理系统功能模块
 **/

public class StudentFunction {

    //创建集合对象,用于存储学生信息
    private static ArrayList<Student> arrayList = new ArrayList<>();

    /**
     * 1、添加学生信息模块功能实现
     */
    public static void addStudent() {
        System.out.println();
        System.out.println("------------1、添加学生信息------------");

        int id;

        // 创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
        Student stu = new Student();

        // 添加学生学号,并判断是否已存在
        while (true) {
            System.out.print("请输入需要添加的学生学号:");
            id = StudentTools.ScannerId();
            boolean flag = isUsed(id);
            if (flag) {
                System.out.println("对不起,你输入的学号已存在,请重新输入:");
            } else {
                break;
            }
        }
        stu.setId(id);

        // 添加学生姓名
        System.out.print("请输入需要添加的学生姓名:");
        String name = StudentTools.ScannerName();
        stu.setName(name);

        // 添加学生成绩
        while (true) {
            System.out.print("请输入需要添加的学生成绩:");
            double score = StudentTools.ScannerScore();

            // 判断输入的成绩是否符合规范
            if (score <= 100 && score >= 0) {
                stu.setScore(score);
                break;
            } else {
                System.out.println("你输入的成绩不符合规范,请重新输入:");
            }
        }
        System.out.println();

        // 将学生对象添加到集合中(保存)
        arrayList.add(stu);

        // 添加成功提示
        System.out.println("添加成功!");

    }

    // 定义判断学号是否被占用的方法
    public static boolean isUsed(int id) {
        // 如果与集合中的某一个学生学号相同,返回true 如果都不相同,返回false
        boolean flag = false;
        for (int i = 0; i < arrayList.size(); i++) {
            Student s = arrayList.get(i);
            if (s.getId() == id) {
                flag = true;
                break;
            }
        }
        return flag;
    }

    /**
     * 2、查询学生信息模块功能实现
     */
    public static void searchStudent() {
        System.out.println();
        System.out.println("------------2、查询学生信息------------");
        System.out.println("请输入序号选择查询的方式(1,按照学号查询;2,查询所有信息):");

        // 调用键盘录入对象方法,输入序号选择查询的方式
        int fun = StudentTools.ScannerId();

        while (true) {
            // 调用查询学生信息的方法
            if (fun == 1) {
                searchSingle(); // 调用查询单个学生信息的方法
            } else if (fun == 2) {
                searchAll();  // 调用查询所有学生信息的方法
            } else {
                System.out.println("你输入的序号功能暂未开发,请重新输入:");
            }
            return;
        }
    }

    // 定义查询单个学生信息的方法
    public static void searchSingle() {

        // 输入学生学号
        System.out.print("请输入需要查询的学生学号:");
        // 调用键盘录入对象方法
        int stuId = StudentTools.ScannerId();
        System.out.println();
        System.out.println("------------学生信息查询结果------------");

        for (Student student : arrayList) {
            if (student.getId() == (stuId)) {
                System.out.println("学号" + "              " + "姓名" + "              " + "成绩");
                System.out.println(student.getId() + "              " + student.getName() + "              " + student.getScore());
                return;
            }
        }
        System.out.println();
        System.out.println("对不起,你输入的学号不存在,请重新输入:");
        System.out.println();
    }

    // 定义查询所有学生信息的方法
    public static void searchAll() {
        System.out.println();
        System.out.println("------------学生信息查询结果------------");

        System.out.println("学号" + "              " + "姓名" + "              " + "成绩");
        for (int i = 0; i < arrayList.size(); i++) {
            Student s = arrayList.get(i);
            System.out.println(s.getId() + "              " +
                    s.getName() + "              " + s.getScore());
        }
    }

    /**
     * 3、修改学生信息模块功能实现
     */
    public static void updateStudent() {
        System.out.println();
        System.out.println("------------3、修改学生信息------------");

        int id;

        System.out.println("请输入你想修改的学生的学号:");
        id = StudentTools.ScannerId();

        // 输入学生学号,判断学号是否存在
        boolean upId = isExited(id);

        if (upId) {
            for (int i = 0; i < arrayList.size(); i++) {
                Student student = arrayList.get(i);

                if (student.getId() == (id)) {
                    // 创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
                    Student stu = new Student();

                    // 键盘录入要修改的学生信息
                    System.out.println("请输入修改后的学生的学号:");
                    int updateId = StudentTools.ScannerId();
                    stu.setId(updateId);

                    System.out.println("请输入修改后的学生的姓名:");
                    String updateName = StudentTools.ScannerName();
                    stu.setName(updateName);

                    System.out.println("请输入修改后的学生的成绩:");
                    double updateScore = StudentTools.ScannerScore();

                    // 判断输入的成绩是否符合规范
                    if (updateScore <= 100 && updateScore >= 0) {
                        student.setScore(updateScore);
                    } else {
                        System.out.println("你输入需要修改的成绩不符合规范,请重新输入:");
                    }
                    stu.setScore(updateScore);

                    // 将修改的学生成绩到集合中(修改)
                    arrayList.set(i, stu);

                    // 给出修改成功提示
                    System.out.println("修改成功!");
                    System.out.println();
                    break;
                }
            }
        } else {
            System.out.println("对不起,你输入的学号不存在,请重新输入:");
        }
    }

    // 定义判断需要修改的学生学号是否存在
    public static boolean isExited(int id) {
        boolean updateId = false;
        for (int i = 0; i < arrayList.size(); i++) {
            Student s = arrayList.get(i);
            if (s.getId() == (id)) {
                updateId = true;
                break;
            }
        }
        return updateId;
    }

    /**
     * 4、删除学生信息模块功能实现
     */
    public static void deleteStudent() {
        System.out.println();
        System.out.println("------------4、删除学生信息------------");

        System.out.println("请输入序号选择删除的方式(1,按照学号删除;2,删除所有信息):");

        int delete = StudentTools.ScannerId();

        while (true) {
            if (delete == 1) {
                deleteSingle();  // 1,按照学号删除
            } else if (delete == 2) {
                deleteAll();   // 2,删除所有信息
            } else {
                System.out.println("你输入的序号功能暂未开发,请重新选择输入:");
            }
            break;
        }
        return;
    }

    // 定义单个删除的方法
    public static void deleteSingle() {

        // 判断需要删除的学生信息是否存在
        System.out.println("请输入需要删除的学生学号:");
        int id = StudentTools.ScannerId();

        int index = -1;

        // 遍历集合将对应学生对象从集合中删除
        for (int i = 0; i < arrayList.size(); i++) {
            Student s = arrayList.get(i);
            if (s.getId() == (id)) {
                index = i;
                break;
            }
        }

        while (true) {
            if (index == -1) {
                System.out.println("对不起,你输入的学号不存在,请重新输入:");
            } else {
                arrayList.remove(index);
                System.out.println("删除学生信息成功!");
            }
            break;
        }
    }

    // 定义全部删除的方法
    public static void deleteAll() {
        arrayList.clear();
        System.out.println("删除所有信息成功!");
    }

    /**
     * 5、退出系统模块功能实现
     */
    public static void exitSystem() {
        System.out.println();
        System.err.println("退出成功,欢迎再次访问!");
        System.exit(0);
    }
}
package cn.yunhe.view;

import cn.yunhe.utils.StudentTools;


/**
 * @Auther: xydsr
 * @Date: 2023/4/3 16:58
 * @Desc: 学生管理系统实现需求:
 * 1、添加学生信息
 * 2、查询学生信息
 * 3、修改学生信息
 * 4、删除学生信息
 * 5、退出管理系统
 **/

public class StudentView {
    public static void main(String[] args) {
        //用循环完成回到系统主界面功能
        while (true) {
            //系统主界面菜单模块
            System.out.println("------欢迎来到-xydsr-学生管理系统------");
            System.out.println("|-----------1、添加学生信息-----------|");
            System.out.println("|-----------2、查询学生信息-----------|");
            System.out.println("|-----------3、修改学生信息-----------|");
            System.out.println("|-----------4、删除学生信息-----------|");
            System.out.println("|-----------5、退出管理系统-----------|");
            //添加一个空格行,为了输出控制台布局美观、不拥挤(下同)。
            System.out.println();
            System.out.println("请选择功能序号:");

            int str = StudentTools.ScannerId();

            // 用switch循环完成系统主界面功能模块的切换操作
            switch (str) {
                case 1:
                    // System.out.println("1、添加学生信息");
                    StudentFunction.addStudent();
                break;
                case 2:
                    // System.out.println("2、查询学生信息");
                    StudentFunction.searchStudent();
                    break;
                case 3:
                    // System.out.println("3、修改学生信息");
                    StudentFunction.updateStudent();
                    break;
                case 4:
                    // System.out.println("4、删除学生信息");
                    StudentFunction.deleteStudent();
                    break;
                case 5:
                    // System.out.println("5、退出系统");
                    StudentFunction.exitSystem();
                    break;
                default:
                    System.out.println("对不起,你选择的功能序号有误,请重新输入:");
            }

            //添加一个空格行,为了输出控制台布局美观、不拥挤。
            System.out.println();
        }
    }

}

项目演示:

用Java实现学生管理系统(附项目详细的介绍和源代码)

用Java实现学生管理系统(附项目详细的介绍和源代码)

 用Java实现学生管理系统(附项目详细的介绍和源代码)

 用Java实现学生管理系统(附项目详细的介绍和源代码)

用Java实现学生管理系统(附项目详细的介绍和源代码) 用Java实现学生管理系统(附项目详细的介绍和源代码)文章来源地址https://www.toymoban.com/news/detail-477574.html

到了这里,关于用Java实现学生管理系统(附项目详细的介绍和源代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【Java】学生管理系统项目演示

    目录 学生管理系统 学生管理系统代码思路分析 nextLine() 和 nextInt() 区别 需求:实现对学生的增删改查功能,学生(学号,姓名,年龄,地址)字段 定义学生 Student 实体类 成员属性 (学号,姓名,年龄,地址); 定义容器(ArrayList) 集合存入对象; 定义StudentManage 对 Stu

    2024年02月07日
    浏览(36)
  • 基于JAVA大学生创新创业项目管理系统设计与实现(Springboot框架) 研究背景与意义、国内外研究现状

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、

    2024年02月03日
    浏览(56)
  • C++实现:学生管理系统(详细解析)

    目录 1.题目要求 2.需求分析 3.整体设计 4.详细设计 主函数设计  学科科目类 主菜单 读取文件与写入文件  效果如下  添加学生信息 删除学生信息 ​编辑 修改学生信息 显示信息列表 显示学生列表 将学生列表按学号升序排列 将学生列表按平均分降序排列,平均分相同的再按

    2023年04月11日
    浏览(42)
  • Java-黑马Java学习项目--学生管理系统增删改查功能

    学生管理系统实现步骤 案例需求 ​ 针对目前我们的所学内容,完成一个综合案例:学生管理系统。该系统主要功能如下: ​ 添加学生:通过键盘录入学生信息,添加到集合中 ​ 删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除 ​ 修改学生:通过键

    2024年02月01日
    浏览(39)
  • 学生管理系统--课程设计项目(Java+SQL server)

    本科参与项目文档合集: 点击跳转~ Student Management System 学校:山东科技大学 指导老师:杨 * * 教授 学号:2019032**** 学生姓名:安** 专业班级:计算机19-1                                    山东科技大学 二〇二〇年七月 1. 总体设计

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

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

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

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

    2024年02月11日
    浏览(47)
  • 学生管理系统(Java实现)

    学生管理系统效果图 使用Java提供的Javax库来实现图形化界面,在使用这个库的时候,我发现它和Qt十分相似,但和Qt相比感觉更方便使用。 效果图: 1.主页面 2.添加学生页面 3.查找学生页面 4.总结 该图形化界面核心代码其实和第一个在控制台操作的管理系统基本一样,只是进

    2024年02月09日
    浏览(51)
  • java实现管理学生选课系统

    项目简介 基于Java Swing+MySQL的学生选课管理系统,支持对课程的发布,查询,添加,删除操作,同时支持对学生及教师信息的管理。       2.项目采用技术 该项目主要使用Java Swing+SQLServer        3.功能需求分析 学生选课管理系统中要实现管理者对于学生和教师信息的管理以

    2024年02月07日
    浏览(45)
  • Python : 使用python实现学生管理系统的功能,详细注释

    学生描述:姓名、年龄、成绩 学生管理系统功能:添加学生信息、删除学生信息、根据姓名修改学生信息、根据姓名查询学生信息、显示所有学生信息、退出系统 1. 将每一个学生的信息放一个元组中,再把元组添加到列表中 2. 元组 键值对儿  {name: value,  age: value,  score: v

    2024年02月11日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包