java简单的学生管理系统

需求如下

代码

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

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        ArrayList<student> list = new ArrayList<>();
        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("请输入您的选择:");
            int choose = sc.nextInt();
            switch (choose) {
                case 1:
                    add(list);
                    break;
                case 2:
                    remove(list);
                    break;
                case 3:
                    set(list);
                    break;
                case 4:
                    search(list);
                    break;
                case 5:
                    return;
                default:
                    System.out.println("没有这个选项");
                    break;
            }
        }

    }

    public static void add(ArrayList<student> list) {
        Scanner sc = new Scanner(System.in);
        student s1 = new student();
        int id;
        while (true) {
            System.out.println("请输入要添加的学生id");
            id = sc.nextInt();
            if (contain(list, id)) {
                s1.setId(id);
                break;
            } else {
                System.out.println("输入id已存在,重新输入");
            }
        }
        System.out.println("请输入姓名");
        String str = sc.next();
        s1.setName(str);
        System.out.println("请输入年龄");
        int age = sc.nextInt();
        s1.setAge(age);
        System.out.println("请输入家庭住址");
        String address = sc.next();
        s1.setAddress(address);
        list.add(s1);
    }

    public static void remove(ArrayList<student> list) {
        Scanner sc = new Scanner(System.in);
        int id;
        System.out.println("请输入需要删除的学生id");
        id = sc.nextInt();

        if (!contain(list, id)) {
            list.remove(list.get(getIndex(list, id)));
            System.out.println("删除成功");
        } else {
            System.out.println("id不存在");
        }
    }

    public static void set(ArrayList<student> list) {
        Scanner sc = new Scanner(System.in);
        student s1 = new student();
        System.out.println("请输入需要修改的学生id");
        int id = sc.nextInt();
        if (contain(list, id)) {
            System.out.println("id不存在");
        } else {
            System.out.println("请输入想要修改的信息");
            while (true) {
                System.out.println("请输入id:");
                int id1 = sc.nextInt();
                if (contain(list, id1) || id1 == id)//比较复杂的判断条件,是为了实现可以不改变id的情况
                {
                    s1.setId(id1);
                    break;
                } else {
                    System.out.println("输入id已存在,重新输入");
                }
            }
            System.out.println("姓名:");
            String name = sc.next();
            s1.setName(name);
            System.out.println("年龄:");
            int age = sc.nextInt();
            s1.setAge(age);
            System.out.println("地址:");
            String address = sc.next();
            s1.setAddress(address);
            list.set(getIndex(list, id), s1);
        }
    }
    public static void search(ArrayList<student> list){
        student s1 = new student();
        if(list.size()==0){
            System.out.println("当前无学生信息,请添加后查看");
        }else {
            System.out.println("id\t姓名\t年龄\t家庭住址");
            for (int i = 0; i < list.size(); i++) {
                System.out.println(list.get(i).getId()+"\t"+list.get(i).getName()+"\t"
                        +list.get(i).getAge()+"\t"+list.get(i).getAddress());
            }
        }
}
    //判断id值是否存在,如果存在则返回false
    public static boolean contain(ArrayList<student> list, int id) {
        return getIndex(list,id)<0;
    }

    //找到id对应的下标
    public static int getIndex(ArrayList<student> list, int id) {
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i).getId() == id) {
                return i;
            }
        }
        return -1;
    }
}

javabean类

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

    public student() {
    }

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

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

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

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}
  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值