集合之Collection实例——登录注册功能

实现登录注册功能:
一、需求:
使用集合实现注册登陆功能:
第一步: 提示用户选择功能, A(注册) B(登陆) 。
要求: 功能选择 的时候要忽略大小写。
第二步:注册:
1、提示用户输入注册的账号(数字)与密码,如果输入账号已经存在集合中,提示用户重新输入。
2、注册完毕之后,把集合中的所有用户信息打印出来。
第三步:登陆:
提示用户输入登陆的账号与密码,如果账号与密码这个用户已经存在集合中,那么登陆成功,否则登陆失败。

二、代码实现:
1、用户实体类:

class User{
    private int usernumber;//账号
    private String password;//密码
    public int getUsernumber() {
        return usernumber;
    }
    public void setUsernumber(int usernumber) {
        this.usernumber = usernumber;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public User() {
        super();
    }
    public User(int usernumber, String password) {
        super();
        this.usernumber = usernumber;
        this.password = password;
    }
    public boolean equals(Object obj){
        User user = (User)obj;
        return user.usernumber == usernumber;
    }
    @Override
    public String toString() {
        return "User [usernumber=" + usernumber + ", password=" + password + "]";
    }
}

2、主程序:

    static Collection c = new ArrayList();
    static Scanner s = new Scanner(System.in);

    public static void main(String[] args){

        while(true){
            System.out.println("请选择功能      A(注册 )    B(登陆)");

            String option = s.next();

            if("a".equalsIgnoreCase(option)){
                reg();

            }else if("b".equalsIgnoreCase(option)){
                login();
            }
        }
    }

3、reg()注册功能:

    private static void reg() {
        User user = null;
        while(true){
            System.out.println("欢迎来到注册页面,请输入账号:");
            int usernumber = s.nextInt();
            user = new User(usernumber,null);
        /*
         * 不能使用迭代器
        Iterator i = c.iterator();
        while(i.hasNext()){
            User user = (User)i.next();
        */
            if(c.contains(user)){//根本原理是比较equals,所以重写了equals方法
                System.out.println("用户名重复请重新输入!");
            }else{
                break;
            }
        }
        System.out.println("请输入密码:");
        String password = s.next();
        user.setPassword(password);
        c.add(user);
        System.out.println("注册成功");
        System.out.println("已注册用户:"+c);
    }   

4、login()登陆功能:

    private static void login() {
        System.out.println("欢迎来到登陆页面,请输入账号:");
        int usernumber = s.nextInt();
        System.out.println("请输入密码:");
        String password = s.next();
        boolean flag = false;
        Iterator i = c.iterator();
        while(i.hasNext()){
            User user = (User)i.next();
            //字符串比较使用equals方法,不能使用等号
            if(user.getUsernumber()==usernumber&&
                    user.getPassword().equals(password)){
                flag = true;
            }else{
                flag = false;
            }
        }
        if(flag==true){
            System.out.println("登陆成功!");
        }else{
            System.out.println("登陆失败!");
        }
    }
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值