学生管理系统(增 删 改 查)ArrayList集合

//第一个类

package Arraylist_学生管理系统;
public class Student {
    private String name;
    private int id;
    private String sex;
    private int age;

    public Student() {
    }

    public Student(String name, int id, String sex, int age) {
        this.name = name;
        this.id = id;
        this.sex = sex;
        this.age = age;
    }

    public String getName() {
        return name;
    }

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

    public int getId() {
        return id;
    }

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

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

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

//第二个类

package Arraylist_学生管理系统;
import java.util.ArrayList;
import java.util.Scanner;
public class Student_menu {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //定义一个学号
        int id=0;
        //创建一个集合
        ArrayList<Student> list = new ArrayList<>();
        while (true) {
            System.out.println("______________________________");
            System.out.println("欢迎使用学生管理系统");
            System.out.println("请按照提示输入你想要的操作");
            System.out.println("******************************");
            System.out.println("1.添加  2.删除  3.修改  4.查询  5.退出");
            System.out.println("******************************");
            //接收一个录入的数字
            int choice = sc.nextInt();
             //判断录入的数字 给出相应的操作
            switch (choice) {
                case 1:
                    id ++;//当有学生信息添加时id编号自动加一
                   // System.out.println("添加");
                    addStudent(list,id);
                    break;
                case 2:
                    //System.out.println("删除");
                    removeStudent(list,sc);
                    break;
                case 3:
                    //System.out.println("修改");
                    setStudent(list,sc);
                    break;
                case 4:
                    //System.out.println("查询");
                    getStudent(list);
                    break;
                case 5:
                    System.out.println("谢谢使用!!!");
                    System.exit(0);//结束虚拟机
            }
        }
    }
    //查询方法
    private static void getStudent(ArrayList<Student> list) {
        System.out.println("================================");
        System.out.println("编号\t\t姓名\t\t性别\t\t年龄");
        System.out.println("----------------------------------");
        if (list.size() == 0) {//判断集合长度为0时,集合中没有数据
            System.out.println("【无数据】");
        } else {//集合中有数据 遍历输出
            for (int i = 0; i < list.size(); i++) {
                Student stu=list.get(i);//从集合中获取对象 将地址赋给stu
                System.out.println(stu.getId()+"\t\t"+stu.getName()+"\t\t"+stu.getSex()+"\t\t"+stu.getAge());
            }
        }

    }
    //修改方法
    private static void setStudent(ArrayList<Student> list,Scanner sc) {
        System.out.println("请输入你想要修改学员的id");//例如 1
        int id=sc.nextInt();//id=1;
        //遍历集合 找到学号为1的学员
        for (int i = 0; i < list.size(); i++) {
            Student stu = list.get(i);

            if (id == stu.getId()) {
                //回显数据
                System.out.println("【查询结果】");
                System.out.println("学号:"+id);
                System.out.println("姓名:"+stu.getName());
                System.out.println("年龄:"+stu.getAge());
                System.out.println("性别:"+stu.getSex());
                //修改数据
                System.out.println("【修改】");
                System.out.println("请输入新姓名[保留原数据输入0]:");
                String newName=sc.next();
                System.out.println("请输入新年龄[保留原数据输入0]");
                int newAge = sc.nextInt();
                System.out.println("请输入新性别[保留原数据输入0]");
                String newSex = sc.next();
                //当输入不是0是 才会更改信息
                if (!"0".equals(newName)) {
                    stu.setName(newName);
                }
                if (0 != newAge) {
                    stu.setAge(newAge);
                }
                if (!"0".equals(newSex)) {
                    stu.setSex(newSex);
                }
                System.out.println("【成功】数据已被修改");
                return;
            }

        }
        //代码执行到这里 说明存入的数据没有该学号
        System.out.println("【错误】学员编号:"+id+"没找到!!");
        return;


    }
    //删除方法
    private static void removeStudent(ArrayList<Student> list,Scanner sc) {
        System.out.println("请输入你想要删除的学员编号");
        int id = sc.nextInt();
        //遍历集合
        for (int i = 0; i < list.size(); i++) {
            Student stu=list.get(i);
            if (id == stu.getId()) {//找到
                //1.回显数据
                System.out.println("【查询结果】");
                System.out.println("学号:"+id);
                System.out.println("姓名:"+stu.getName());
                System.out.println("年龄:"+stu.getAge());
                System.out.println("性别:"+stu.getSex());
                //2.确认删除
                System.out.println("【确认删除】你确认删除这条数据吗?(y/n):");
                String op=sc.next();
                //3.是:执行删除
                if ("y".equals(op)) {
                    list.remove(i);
                    System.out.println("【数据已被成功删除!】");

                } else {//否:执行被取消
                    System.out.println("【取消】操作被取消");
                }
                return;
            }
        }
        System.out.println("【错误】学员编号:"+id+"没找到!");
    }
    //添加方法
    private static void addStudent(ArrayList<Student> list,int id) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入添加学生的姓名:");
        String name = sc.next();
        //System.out.println("请输入添加学生的学号:");
       // int id = sc.nextInt();
        System.out.println("请输入添加学生的性别:");
        String sex = sc.next();
        System.out.println("请输入添加学生的年龄:");
        int age = sc.nextInt();
        //将数据装入stu中
        Student stu = new Student();
        stu.setName(name);
        stu.setId(id);
        stu.setSex(sex);
        stu.setAge(age);
        //将stu装入集合中
        list.add(stu);
        System.out.println("添加成功  【数据已保存!!!】");

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值