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

 

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

public class benxi {
    public static void main(String[] args) {
        //定义一个容器装学生
        ArrayList<student> list=new ArrayList<>();
       xh: while(true) {
            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("请输入选择");
        Scanner sc=new Scanner(System.in);
        String choose= sc.next();

        switch (choose) {
            case "1" -> addstudent(list);
            case "2" -> delestudent(list);
            case "3" -> updatestudent(list);
            case "4" -> cxstudent(list);
            default -> {System.out.println("退出");
                         break xh;
            }
        }
        }


    }

    //定义添加学生方法
    public static void addstudent(ArrayList<student> list){
        //创建空参学生对象
        student s=new student();
        //键盘录入学生信息
        Scanner sc=new Scanner(System.in);
           String id=null;
           while (true){
               System.out.println("请输入学生id");
               id=sc.next();
               boolean q = only(list, id);
            if (q) {
                System.out.println("请重新输入id");
            } else {
                //把id放入空参中  下面的也是这样
                s.setId(id);
                break;
            }
        }

        System.out.println("请输入姓名");
        String name=sc.next();
        s.setName(name);
        System.out.println("请输入年龄");
        int age=sc.nextInt();
        s.setAge(age);
        System.out.println("请输入家庭住址");
        String home=sc.next();
        s.setHome(home);
        //学生对象放入ArrayList 这个容器
       list.add(s);
        System.out.println("添加成功");
    }
    //定义删除学生方法
    public static void delestudent(ArrayList<student> list){
        //键盘录入要删除学生的id
        Scanner sc=new Scanner(System.in);
        System.out.println("输入要删除学生的id");
        String id=sc.next();
        int i=index(list,id);
        if (i>=0){
            //存在这个id就删除
            list.remove(i);
            System.out.println("成功删除id为"+id+"的学生");
        }else
            System.out.println("id不存在删除失败");

    }
    //定义修改学生方法
    public static void updatestudent(ArrayList<student> list){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入学生id");
        String id=sc.next();
        //调用index方法
        int index = index(list, id);
        if (index==-1){
            System.out.println("id不存在"+id+"请重新输入id");
            return;
        }
        //id存在的时候
        //获取要修改的学生对象
        student stu=list.get(index);
        //修改姓名
        System.out.println("请修改姓名");
        String newname=sc.next();
        stu.setName(newname);
        //修改年龄
        System.out.println("请修改年龄");
        int newage = sc.nextInt();
        stu.setAge(newage);
        //修改家庭住址
        System.out.println("请修改家庭住址");
        String newhome=sc.next();
        stu.setHome(newhome);
        System.out.println("信息修改成功");
    }

    //定义id唯一的方法
    public static boolean only(ArrayList<student>list,String id){
         //遍历集合ArrayList<student>list
        for (int i = 0; i < list.size(); i++) {
            //得到集合中每个元素
            student s=list.get(i);
            String b=s.getId();
            if (b.equals(id)){
                //集合中id和输入id相同返回true  不同false
                return true;
            }
        }
        return false;


    }


    //定义方法 根据索引来删除id
    public static int index(ArrayList<student> list,String id){
        //遍历集合
        for (int i = 0; i < list.size(); i++) {
            //得到集合中每个对象
            student a=list.get(i);
            //把对象的id给拿出来
            String iid=a.getId();
            //把对象的id和要删除的id比较
            if(iid.equals(id)){
                //相同返回索引  不同返回-1
                return i;
            }
        }
        return -1;

    }
    //定义查询学生方法
    public static void cxstudent(ArrayList<student> list){
          if (list.size()==0){
              System.out.println("没有学生信息,请添加后查询");
          }
          //表头
        System.out.println("id\t\t 姓名\t 年龄\t 家庭住址\t");
          //遍历学生信息
        for (int i = 0; i < list.size(); i++) {
            student s = list.get(i);
            System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getAge()+"\t"+s.getHome());
        }

        System.out.println("查询学生");
    }
}





 

public class student {
    private String id;
    private String name;
    private int age;
    private String home;

    public student() {
    }

    public student(String id, String name, int age, String home) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.home = home;
    }

    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 int getAge() {
        return age;
    }

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

    public String getHome() {
        return home;
    }

    public void setHome(String home) {
        this.home = home;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值