|
|
@@ -0,0 +1,56 @@
|
|
|
+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)+"次");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+}
|