前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java集合接口实现学生管理系统增删改查功能

java集合接口实现学生管理系统增删改查功能

原创
作者头像
菜菜有点菜
发布2023-12-06 21:58:36
4580
发布2023-12-06 21:58:36
举报
文章被收录于专栏:白菜博客

题目:

系统首页:用于显示系统所有操作,并根据控制台的输入选择需要的功能。

查询功能:用户选择该功能后在控制台打印学生信息。

添加功能:用户选择该功能之后。录入学生信息(学号、姓名、年龄、地址),学号占用添加失败。

删除功能:用户选择该功能进入指定学号删除,学号存在删除成功,不存在删除失败。

修改功能:修改指定学号的信息。

退出系统

具体实现:

目录结构介绍:

代码

代码语言:javascript
复制
/**
 * @authr Cat00011cat
 * java作业 学生管理系统  集合 实现对学生信息的增删改查
 */
package top.thecat;

public class Main {

    public static void main(String[] args) {
        /***
         * 学生管理系统
         * 1、首页
         *      显示功能菜单,用户输入数字进行对应的功能下边。
         * 2、查询
         *      子菜单:查询全部信息,查询指定用户信息。
         * 3、添加
         *      控制台输入 存储 学号、姓名、年龄、居住地址信息。
         *      学号唯一,如果存在则输出添加失败,否则添加成功。
         * 4、删除
         *      根据输入的学号删除信息,如果学号不存在则输出删除失败 ,否则删除成功。
         * 5、修改
         *      通过输入的学号  修改该学生的学生信息
         *      如果学号不存在 则提示该学生不存在修改失败.
         * 6、退出系统
         *      用户选择该功能 结束程序
         *
         *
         *      数据存储结构:
         *      id 学号
         *      name 姓名
         *      age 年龄
         *      address 地址
         */
        System.out.println("starting...");
        Main main = new Main();
        main.start();

    }

    /***
     * 主页控制
     */
    public void start() {
        // 创建首页
        Home home = new Home();
//        创建首页选项校验类
        Check check = new Check();
//        创建业务控制对象
        Service service = new Service();
        while (true) {
            home.HomePage();  // 输出首页选项
            int item = check.menuItemCheck(1, 5);
            switch (item) {
                case 1:
//                    添加学生信息首页入口控制
                    service.addStudenInfo();
                    break;
                case 2:
//                    查询学生信息首页入口控制
                    service.searchStudenInfo();
                    break;
                case 3:
//                    修改学生信息入口控制
                    service.editStudenInfo();
                    break;
                case 4:
//                    删除学生信息入口控制
                    service.deleteStudenInfo();
                    break;
                case 5:
//                    退出系统
                    System.out.println("恭喜您!安全退出系统");
                    System.exit(0);
            }
        }
    }

}
代码语言:javascript
复制
package top.thecat;

public class Home {
    //    首页
    public void HomePage() {

        String img = " ____  _             _            _         ____      _    ___   ___   ___  _ _           _   \n" +
                "/ ___|| |_ _   _  __| | ___ _ __ | |_      / ___|__ _| |_ / _ \\ / _ \\ / _ \\/ / | ___ __ _| |_ \n" +
                "\\___ \\| __| | | |/ _` |/ _ \\ '_ \\| __|____| |   / _` | __| | | | | | | | | | | |/ __/ _` | __|\n" +
                " ___) | |_| |_| | (_| |  __/ | | | ||_____| |__| (_| | |_| |_| | |_| | |_| | | | (_| (_| | |_ \n" +
                "|____/ \\__|\\__,_|\\__,_|\\___|_| |_|\\__|     \\____\\__,_|\\__|\\___/ \\___/ \\___/|_|_|\\___\\__,_|\\__|\n" +
                "                                                                                              ";
        System.out.println(img);
//        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("****************************************");
    }

    //    添加
    public void addPage() {
        System.out.println("*************************");
        System.out.println("** 1 添加学生信息 **");
        System.out.println("** 2 返回首页 **");
        System.out.println("*************************");
    }

    //    查询
    public void searchPage() {
        System.out.println("*************************");
        System.out.println("** 1 按学号查找学生 **");
        System.out.println("** 2 查看全部学生信息 **");
        System.out.println("** 3 返回首页 **");
        System.out.println("*************************");
    }

    //    修改
    public void editPage() {
        System.out.println("*************************");
        System.out.println("** 1 查看全部学生信息 **");
        System.out.println("** 2 修改指定学号的学生信息 **");
        System.out.println("** 3 返回首页 **");
        System.out.println("*************************");
    }

    //    删除
    public void deletePage() {
        System.out.println("*************************");
        System.out.println("** 提示:学号不允许修改 **");
        System.out.println("** 1 删除指定学号的学生信息 **");
        System.out.println("** 2 删除全部记录 **");
        System.out.println("** 3 返回首页 **");
        System.out.println("*************************");
    }
}
代码语言:javascript
复制
package top.thecat;

/**
 * 学生实体类
 */
public class Student {
    private String id;     // 学号
    private String name;    // 姓名
    private String age;         // 年龄
    private String address;     // 地址

    //    无参构造器
    public Student() {
    }

    //有参构造器
    public Student(String id, String name, String age, String address) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.address = address;
    }

    //get set 方法
    public String getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

    public String getAge() {
        return age;
    }

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

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    //    重写tostring方法
    @Override
    public String toString() {
//        System.out.println("录入的学生信息如下所示: ");
        StringBuffer stringBuffer = new StringBuffer();// 创建字符缓存区对象
        stringBuffer.append("学号: ").append(this.id).append(" ").append("\t");
        stringBuffer.append("姓名: ").append(this.name).append(" ").append("\t");
        stringBuffer.append("年龄: ").append(this.age).append(" ").append("\t");
        stringBuffer.append("地址: ").append(this.address).append(" ").append("\t");

        return stringBuffer.toString();
    }
}
代码语言:javascript
复制
package top.thecat;

import java.util.Scanner;

/**
 * 数据校验类
 */
public class Check {
    public int menuItemCheck(int min, int max) {
        //操作选项正则表达式
        String regex = "[1-9]{1}";
        //创建键盘输入对象
        Scanner scanner = new Scanner(System.in);
        while (true) {
            System.out.println("请选择操作选项,最小:" + min + "\t" + "最大:" + max);
            String input = scanner.nextLine();
            if (input.matches(regex)) {
                int inputNum = Integer.parseInt(input);
                if (inputNum >= min && inputNum <= max) {
                    return inputNum;
                } else {
                    System.out.println("没有您输入的操作选项,请重新输入!");
                }
            } else {
                System.out.println("请睁大眼睛看清除要求您输入的操作选项,pass掉");
            }
        }
    }
}
代码语言:javascript
复制
package top.thecat;

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

/**
 * 业务逻辑类
 */
public class Service {
    //    创建泛型list接口
    private List<Student> list;

    public Service() {
        this.list = new ArrayList<>();  //集合
    }

    /**
     * 添加学生信息业务逻辑控制
     */
    public void addStudenInfo() {
        System.out.println("学生信息初始化");
//        系统初始化自带的学生数据。。。。懒得自己去添加数据了,,,疯掉,,,就算不录入 也有学生数据
        Student studentInfo1 = new Student("100001", "Cat00011cat", "18", "中国");
        Student studentInfo2 = new Student("100002", "白菜", "18", "中国");
        Student studentInfo3 = new Student("100003", "张三", "20", "中国");
        Student studentInfo4 = new Student("100004", "张四", "17", "中国");
        Student studentInfo5 = new Student("100005", "张五", "21", "中国");
        Student studentInfo6 = new Student("100007", "张六", "23", "中国");
        Student studentInfo7 = new Student("100008", "张七", "18", "中国");
        Student studentInfo8 = new Student("100009", "张八", "22", "中国");
        Student studentInfo9 = new Student("100010", "张张", "18", "中国");
        this.list.add(studentInfo1);
        this.list.add(studentInfo2);
        this.list.add(studentInfo3);
        this.list.add(studentInfo4);
        this.list.add(studentInfo5);
        this.list.add(studentInfo6);
        this.list.add(studentInfo7);
        this.list.add(studentInfo8);
        this.list.add(studentInfo9);
//        数据格式不做check了,,,懒得搞了
        Scanner scanner = new Scanner(System.in);
        String id = scanner.nextLine();
        String name = scanner.nextLine();
        String age = scanner.nextLine();
        String address = scanner.nextLine();
        Student student = new Student(id, name, age, address);     // 创建 具体的某一个学生
        this.list.add(student);     // 将学生添加到list集合当中
        System.out.println(student.toString());
    }

    /**
     * 查询学生信息业务逻辑控制
     */
    public void searchStudenInfo() {
        System.out.println("请输入您需要查找学生的学号:");
        Scanner scanner = new Scanner(System.in);
        String id = scanner.nextLine();
        if (!id.isEmpty()) {
//            按照指定学号查找
//            System.out.println(this.list);
            Boolean flag = true;        // 假设系统存在 找到了词学生
            for (int i = 0; i < this.list.size(); i++) {
                if (id.equals(this.list.get(i).getId())) {
                    System.out.println("查找成功 ===> " + this.list.get(i));
                    flag = false;
                }
            }
            if (flag) {
                System.out.println("学生不存在,查找失败!!!");
            }
        } else {
//            不输入学号默认查询全部信息
            if (this.list.size() == 0) {
                System.out.println("没有任何学生信息 请录入后重试!!!");
                return;
            }
            for (int i = 0; i < this.list.size(); i++) {
                System.out.println(this.list.get(i));
            }

        }
    }

    /**
     * 修改学生信息业务逻辑控制
     */
    public void editStudenInfo() {
        System.out.println("请输入您需要修改学生的学号:");
        Scanner scanner = new Scanner(System.in);
        String id = scanner.nextLine();
        if (!id.isEmpty()) {
            // 找到该学生
            Boolean flag = true;        // 假设系统存在 找到了词学生
            for (int i = 0; i < this.list.size(); i++) {
                if (id.equals(this.list.get(i).getId())) {
                    System.out.println("提示:学号不支持修改, 允许修改 姓名 年龄 地址");
                    System.out.println();
                    String name = scanner.nextLine();
                    String age = scanner.nextLine();
                    String address = scanner.nextLine();
                    this.list.get(i).setName(name);
                    this.list.get(i).setAge(age);
                    this.list.get(i).setAddress(address);
                    System.out.println("修改成功 ===> " + this.list.get(i));
                    flag = false;
                }
            }
            if (flag) {
                System.out.println("学生不存在,修改失败!!!");
            }

        } else {
            System.out.println("请输入学号后重试!!!");
        }
    }

    /**
     * 删除学生信息业务逻辑控制
     */
    public void deleteStudenInfo() {
//        删除全部信息 就不写了,,,懒得写..删除掉了  又要自己添加疯掉了....
//        删除指定学号的学生信息 就行了。
        System.out.println("请输入您需要删除学生的学号:");
        Scanner scanner = new Scanner(System.in);
        String id = scanner.nextLine();
        if (!id.isEmpty()) {
            Boolean flag = true;        // 假设系统存在 找到了词学生
            for (int i = 0; i < this.list.size(); i++) {
                if (id.equals(this.list.get(i).getId())) {
                    System.out.println(this.list.get(i));
                    // 直接remove
//                    this.list.remove(i);
                    System.out.println("删除成功 ===> " + this.list.remove(i));
                    flag = false;
                }
            }
            if (flag) {
                System.out.println("学生不存在,删除失败!!!");
            }
        } else {
            System.out.println("请输入学号后再试!!!");
        }
    }
}

功能测试

首页

添加:

学号查找:

查看全部学生信息:

修改指定学生信息

删除指定学生信息

退出系统

项目下载

代码语言:javascript
复制
运行指令:java -jar .\studentCrud.jar

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目:
  • 具体实现:
  • 代码
  • 功能测试
    • 首页
      • 添加:
        • 学号查找:
          • 查看全部学生信息:
            • 修改指定学生信息
              • 删除指定学生信息
                • 退出系统
                • 项目下载
                相关产品与服务
                数据保险箱
                数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档