package _01_static.demo7;

import java.util.Scanner;

public class Test {

    /**
     * 做登录功能
     * 1 要求设计出来Account 账户类
     * 2 非静态成员 username String 和 password String 和 loginErrorCount int
     * 3 设计出来一个工具类 StringUtils 里面需要包含一个静态方法 判断字符串是否为空或者是""
     *   如果是null或者是"" 返回true , 否则返回false
     * 4 测试在控制台当中录入账号和密码
     *   4.1 如果账号和密码为空 在控制太打印账号密码不能为空 (调用工具类的方法)
     *   4.2 如果账号和密码输入的错误的, 需要让loginErrorCount ++
     *   4.3 如果loginErroCount 次数达到了3次 打印账号已经被锁定
     *   4.4 如果账号密码输入是正确的打印登录成功
     */

    public static void main(String[] args) {
        // 如果账号密码不为空
        Account account = new Account();
        while (true){
            Scanner scanner = new Scanner(System.in);
            System.out.println("请录入账号");
            String username = scanner.next();
            System.out.println("请录入密码");
            String password = scanner.next();
            // 1 判断账号和密码是否为空
            if(StringUtils.isEmpty(username)|| StringUtils.isEmpty(password)){
                System.out.println("账号或者密码不能为空");
                return;
            }
            account.setUsername(username);
            account.setPassword(password);
            if("admin".equals(account.getUsername()) &&
                    "123".equals(account.getPassword())){
                System.out.println("登录成功");
                break;
            }else{
                // 让count 当中loginErroCount+1
                // 如果登录错误次数等于3 打印账号已经被锁定
                int loginErrorCount = account.getLoginErrorCount();
                if(loginErrorCount == 2){
                    System.out.println("账户已经被锁定了");
                    break;
                }else{
                    // 让登录错误数量+1
                    account.setLoginErrorCount(loginErrorCount+1);
                    System.out.println("账号密码错误,还剩" + (2-loginErrorCount)+"次");
                }
            }
        }

    }
}
