首页 > 编程语言 >利用Java集合实现学生信息的”增删查“

利用Java集合实现学生信息的”增删查“

时间:2022-08-28 22:14:54浏览次数:80  
标签:Java String System 学生 集合 增删 println public out

之前学了Java中的集合,打算写一个小程序来消化一下!

那么我们知道,集合相比数组的优点就是可以动态的增加元素,这对比数组来说,十分的便捷;

并且集合为我们封装好一些方法,可以更好的做一些数据操作!

首先创建一个学生类,代码如下:

public class Student {
    private String name;
    private Integer age;
    private String address;
    private String stuID;

    public Student(String name,Integer age,String address,String stuID){
        this.name = name;
        this.age = age;
        this.address = address;
        this.stuID = stuID;
    }

    public String getName() {
        return name;
    }
    public Integer getAge(){
        return age;
    }
    public String getAddress(){
        return address;
    }
    public String getStuID(){
        return stuID;
    }
}

这个学生类包含了姓名,年龄,地址,学号四个字段,来保存学生的个人信息;

然后创建一个主类,来实现CRUD操作!

增添学生:

通过数据库的知识我们知道,一个表中需要一个元素被设定为主键,方便和其他的表建立关系,那么在这里我们设定学号为主键,通过对学号,判断是否存在该学生,

如果有,则返回该学生信息,若没有,增加学生信息,代码如下:

public static void addStudent() {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入学生的学号:");
        String stuID = sc.nextLine();
        Student student = getByStuIdStudent(stuID);
        if (student != null) {
            System.out.println("该学号已被其他学生使用!");
            return;
        }
        System.out.println("请输入学生姓名:");
        String name = sc.nextLine();
        System.out.println("请输入学生地址:");
        String address = sc.nextLine();
        System.out.println("请输入学生的年龄:");
        Integer age = sc.nextInt();
        stus.add(new Student(name, age, address, stuID));
        System.out.println("添加成功");
    }
public static Student getByStuIdStudent(String stuID) {
        for (int i = 0; i < stus.size(); i++) {
            Student student = stus.get(i);
            if (student.getStuID().equals(stuID)) {

                return student;
            }
        }
        return null;
    }

查看学生信息:

public static void showStudent(){
        if(stus.size() == 0){
            System.out.println("该集合中无数据。。。。。");
            return;//程序不会继续向下执行
        }
        for(int i = 0;i< stus.size();i++){
            Student student = stus.get(i);
            System.out.println("姓名:" + student.getName() + " " + "年龄:" + student.getAge() + " " + "地址:" + student.getAddress() + " "+ "学号" + student.getStuID());
        }
    }

删除学生信息:

public static void deleteStudent(){
        System.out.println("请输入删除学生的学号:");
        Scanner scanner = new Scanner(System.in);
        String stuID = scanner.nextLine();
        for (int i = 0;i<stus.size();i++){
            Student student = stus.get(i);
            if(student.getStuID().equals(stuID)){
                stus.remove(i);
                System.out.println("删除成功!!!");
                return;
            }

        }

主函数代码:

private static ArrayList<Student> stus = new ArrayList<Student>();

    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("请选择[1-4]");
            Scanner scanner = new Scanner(System.in);
            int number = scanner.nextInt();
            switch (number) {
                case 1:
                    System.out.println("新增学生");
                    addStudent();
                    break;
                case 2:
                    System.out.println("删除学生");
                    deleteStudent();
                    break;
                case 3:
                    System.out.println("查询学生");
                    showStudent();
                    break;
                case 4:
                    System.out.println("系统退出");
                    return;

            }
        }

 

标签:Java,String,System,学生,集合,增删,println,public,out
From: https://www.cnblogs.com/99kol/p/16633827.html

相关文章

  • 100套计算机专业java毕设项目
    100套java开学内卷项目论文源码随你挑今天分享100套计算机Java设计项目,可练手又可当毕设,而且包含了参考论文文档资料;有需要的可以翻翻看    源码获取百度网盘:......
  • 做自动化测试选择Python还是Java?
    你好,我是测试蔡坨坨。今天,我们来聊一聊测试人员想要进阶,想要做自动化测试,甚至测试开发,如何选择编程语言。前言自动化测试,这几年行业内的热词,也是测试人员进阶的必备技能......
  • java 实现字符串转换为树
    importjava.util.*;classNode{publicstaticvoidmain(String[]args){ArrayList<String>listOfPaths=newArrayList<String>();l......
  • JavaScript的函数
    //alert是JavaScript语言提供的一个警告函数//它可以接收任意类型的参数,这个参数就是警告框的提示信息   <!DOCTYPEhtml><htmllang="en"><head><metacharse......
  • 力扣393(java)-UTF-8编码验证(中等)
    题目:给定一个表示数据的整数数组 data ,返回它是否为有效的UTF-8编码。UTF-8中的一个字符可能的长度为1到4字节,遵循以下的规则:对于1字节 的字符,字节的第一位......
  • Java集合
    集合框架组成部分:1.Collection(存放单列数据):List接口存放数据可以允许重复ArrayList底层基于数组数据结构实现LinkedList底层基于链表数据结构实现Set接口不允许存......
  • JavaScript基础介绍三(事件)
    原生js事件绑定我们直接写几个案例,看懂即可开关灯案例变色<script>letbtnEle=document.getElementById('d2')letdivEle=document.getElementById('......
  • Java开发学习(二十七)----SpringMVC之Rest风格解析及快速开发
    一、REST简介REST(RepresentationalStateTransfer),表现形式状态转换,它是一种软件架构风格当我们想表示一个网络资源的时候,可以使用两种方式:传统风格资源描述形式......
  • Java - NIO 总结
    NIO介绍NIO有人称之为non-blockinglO是从Java1.4版本开始引入的一个新的IOAPI,可以替代标准的lOAPI。NIO与原来的IO有同样的作用和目的,但是使用的方式完全......
  • 力扣507(java)-完美数(简单)
    题目:对于一个 正整数,如果它和除了它自身以外的所有正因子之和相等,我们称它为「完美数」。给定一个 整数 n, 如果是完美数,返回true;否则返回false。 示例1:输......