模拟用户登录效果

标题

package sun.rain.amazing;

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

import org.junit.Test;


/**
 * 模拟用户登录
 * @author sunRainAmazing
 * 
 */
public class StringLogin {

    public static User[] userArray;
    public static List<User> userList = new ArrayList<User>();

    //初始化数据
    static{
        userArray = new User[]{
                new User("TOM","123"),
                new User("CAT","123"),
                new User("JANE","123")
        };
        userList.add(new User("tom","123"));
        userList.add(new User("cat","123"));
        userList.add(new User("jane","123"));
    }




    /**
     * 测试登录方法
     */
    @SuppressWarnings("resource")
    @Test
    public void testLogin(){
        Scanner scanner = new Scanner(System.in);
        String userName,userPassword,code;
        userName = userPassword = code = null;
        String verifyCode ;
        User user;
        do{
            if(userName!=null){
                System.out.println("用户名或密码错误,请重新输入");
            }

            //获取一个四位数字的验证码
            verifyCode = ((int)(Math.random()*9000)+1000)+"";

            System.out.print("请输入用户名");
            userName = scanner.nextLine().trim();
            System.out.print("\n请输入密码:");
            userPassword = scanner.nextLine().trim();
            System.out.println("请输入验证码:"+verifyCode);
            code = scanner.nextLine().trim();

            //进行封装 用户信息
            user = new User(userName,userPassword);

            //判断验证码是否正确
            while(!verifyCode.equals(code)){
                verifyCode = ((int)(Math.random()*9000)+1000)+"";
                System.out.println("验证码不正确,请重新输入:  "+verifyCode);
                code = scanner.nextLine().trim();
            }

//      }while(isExists(userName,userPassword));
        }while(isExists(user));

        System.out.println("欢迎您"+userName+"   登录成功");
    }




    /**
     * 验证用户是否存在 数组方式
     * @param userName
     * @param userPassword
     * @return
     */
    @SuppressWarnings("unused")
    private static boolean isExists(String userName,String userPassword){
        for (int i = 0; i < userArray.length; i++) {
            if(userArray[i].getUserName().equals(userName)
                    &&userArray[i].getUserPassword().equals(userPassword)
                    ){
                return false;
            }
        }
        return true;
    }



    /**
     * 验证用户是否存在 集合方式
     * @param userName
     * @param userPassword
     * @return
     */
    private static boolean isExists(User user){
        for (int i = 0; i < userList.size(); i++) {
            if(userList.get(i).getUserName().equals(user.getUserName())
                    &&userArray[i].getUserPassword().equals(user.getUserPassword())
                    ){
                return false;
            }
        }
        return true;
    }

}





/**
 * 创建的user类
 *
 * @author sunRainAmazing
 *
 */
class User{

    private String userName;
    private String userPassword;


    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getUserPassword() {
        return userPassword;
    }
    public void setUserPassword(String userPassword) {
        this.userPassword = userPassword;
    }


    public User() {
        super();
    }
    public User(String userName, String userPassword) {
        super();
        this.userName = userName;
        this.userPassword = userPassword;
    }


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值