java用户管理系统(控制台)--集合

目录

用户管理类

用户类


 

用户管理类

public class Manage {
    public static void main(String[] args) {
        ArrayList<User> users = new ArrayList();
        users.add(new User("胡歌","123",12,'男'));
        users.add(new User("彭于晏","111",22,'男'));
        users.add(new User("刘亦菲","666",18,'女'));
        Scanner sc = new Scanner(System.in);
        int i;
        do{
            System.out.println("---------欢迎进入2105用户管理系统---------\n" +
                    "1.根据id查询用户信息\n" +
                    "2.根据姓名查询用户信息\n" +
                    "3.展示所有用户信息\n" +
                    "4.添加用户信息\n" +
                    "5.修改用户信息\n" +
                    "6.删除用户信息\n" +
                    "7.退出");
            System.out.println("请输入需要的操作:");
            i = sc.nextInt();
            switch (i){
                case 1:
                    System.out.println("请输入需要查找的id:");
                    boolean flag1 = true;
                    int num1 = 0;
                    while (flag1){
                        //User id 引用通过输入指定的id获得指定位置的元素。
                        num1 = sc.nextInt();
                        //contains--->如果此列表中包含指定的元素,则返回 true。
                        for (User user:users) {
                            if (user.getId() == num1){
                                System.out.println(user);
                                flag1 = false;
                            }
                        }
                        if(flag1) {
                            System.out.println("id不存在,请重新输入");
                        }
                    }
                    break;
                case 2:
                    //通过姓名查找
                    System.out.println("请输入需要查找的姓名:");
                    boolean flag = true;
                    String s = null;
                    while (flag){
                    //User id 引用通过输入指定的id获得指定位置的元素。
                     s = sc.next();
                    for (User user:users) {
                        if (s.equals(user.getUserName())){
                            System.out.println(user);
                            flag = false;
                        }
                    }
                    if(flag) {
                        System.out.println("姓名不存在,请重新输入");
                    }
                    }
                    break;
                case 3:
                    //3.展示所有用户信息
                    //users.forEach(System.out::println);//调用遍历数组方法打印对象数组
                    //迭代器遍历
                    Iterator<User> it = users.iterator();
                    while (it.hasNext()){
                        System.out.println(it.next());
                    }
                    break;
                case 4:
                    //4.添加用户信息
                    System.out.println("请输入需要添加的姓名:");
                    boolean flag3 = true;
                    String s1 = null;
                    while (flag3){
                        //User id 引用通过输入指定的id获得指定位置的元素。
                        s1 = sc.next();
                        //contains--->如果此列表中包含指定的元素,则返回 true。
                        for (int j = 0; j < users.size(); j++) {
                            if (s1.equals(users.get(j).getUserName())){
                                System.out.println("姓名已存在,请重新输入");
                                flag3 = false;
                                break;
                            }
                        }
                        if(!flag3) {
                            flag3 = true;
                        }else{
                            break;
                        }
                    }
                    System.out.println("请输入密码");
                    String password = sc.next();
                    System.out.println("请输入年龄");
                    int age = sc.nextInt();
                    System.out.println("请输入性别");
                    char sex = sc.next().charAt(0);
                    users.add(new User(s1,password,age,sex));
                    System.out.println("添加成功");
                    break;
                case 5:
                    //5.修改用户信息
                    System.out.println("请输入需要修改的id:");
                    boolean flag5 = true;
                    int num5 = 0;
                    while (flag5){
                        //User id 引用通过输入指定的id获得指定位置的元素。
                        num5 = sc.nextInt();
                        //contains--->如果此列表中包含指定的元素,则返回 true。
                        for (User user:users) {
                            if (user.getId() == num5){
                                System.out.println(user);
                                flag5 = false;
                            }
                        }
                        if(flag5) {
                            System.out.println("id不存在,请重新输入");
                        }
                    }
                    System.out.println("请输入需要修改的姓名:");
                    boolean flag01 = true;
                    String s01 = null;
                    while (flag01){
                        //User id 引用通过输入指定的id获得指定位置的元素。
                        s01 = sc.next();
                        //contains--->如果此列表中包含指定的元素,则返回 true。
                        for (int j = 0; j < users.size(); j++) {
                            if (s01.equals(users.get(j).getUserName())){
                                System.out.println("姓名已存在,请重新输入");
                                flag01 = false;
                                break;
                            }
                        }
                        if(!flag01) {
                            flag01 = true;
                        }else{
                            break;
                        }
                    }
                    //找到对应对象,修改对象信息
                    System.out.println("请输入密码");
                    String password1 = sc.next();
                    System.out.println("请输入年龄");
                    int age1 = sc.nextInt();
                    System.out.println("请输入性别");
                    char sex1 = sc.next().charAt(0);
                    users.set(num5,new User(num5,s01,password1,age1,sex1));
                    System.out.println("修改成功");
                    break;
                case 6:
                    //6.删除用户信息
                    System.out.println("请输入需要删除的id:");
                    boolean flag6 = true;
                    int num6 = 0;
                    while (flag6){
                        //User id 引用通过输入指定的id获得指定位置的元素。
                        num6 = sc.nextInt();
                        //contains--->如果此列表中包含指定的元素,则返回 true。
                        Iterator<User> iterator = users.iterator();
                        while (iterator.hasNext()){
                            if(iterator.next().getId() == num6) {
                                iterator.remove();
                                flag6 = false;
                                break;
                            }
                        }
                        if(flag6) {
                            System.out.println("id不存在,请重新输入");
                        }
                    }
                   // users.remove(num6);
                    System.out.println("删除成功");
                    break;
                case 7:
                    System.out.println("谢谢使用,欢迎下次使用");
                    break;

            }
        }while (i!=7);
    }
}

用户类

public class User {
    private int id;
    private String UserName;
    private String password;
    private int age;
    private char sex;
    static int uid = 0;
    {
        ++uid;//构造代码块每次创建对象会执行一次,用于统计创建对象次数
    }
    public User() {
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        User user = (User) o;
        return id == user.id && age == user.age && sex == user.sex && Objects.equals(UserName, user.UserName) && Objects.equals(password, user.password);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, UserName, password, age, sex);
    }

    public User(String userName, String password, int age, char sex) {
        this.id = uid;
        UserName = userName;
        this.password = password;
        this.age = age;
        this.sex = sex;
    }

    public User(int id, String userName, String password, int age, char sex) {
        this.id = id;
        UserName = userName;
        this.password = password;
        this.age = age;
        this.sex = sex;
    }

    public int getId() {
        return id;
    }

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

    public String getUserName() {
        return UserName;
    }

    public void setUserName(String userName) {
        UserName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public int getAge() {
        return age;
    }

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

    public char getSex() {
        return sex;
    }

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

    @Override
    public String toString() {
        return "homework.User{" +
                "id=" + id +
                ", UserName='" + UserName + '\'' +
                ", password='" + password + '\'' +
                ", age=" + age +
                ", sex=" + sex +
                '}';
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ayou2020

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值