代码
点击查看【ForTest2.java】代码
package com.d;
import java.util.Scanner;
/**
* for循环例子2
* @date: 2022.2.24
* 用户登录验证,上限3次。
* */
public class ForTest2 {
public static void main(String[] args) {
// 举例用户信息
String username = "admin";//用户名
String pad = "123";//密码
int sum = 3; //限定3次账户密码试错的机会,sum--; sum < 1; break;
// 模拟用户登录
Scanner input = new Scanner(System.in);
// 验证用户名
System.out.print("欢迎使用Windows系统,请输入用户名:");
for (;;){ //死循环的另一种写法
if (sum < 1) break;// 及时检查试错次数,并终止循环
String putuser = input.next();
if (username.equals(putuser)){ //用 String.equals(); 比较两个字符串是否相同。
// 用户名对了,才有权限验证密码
System.out.print("请输入密码:");
for (;;){
if (sum < 1) break;// 及时检查试错次数,并终止循环
String putpad = input.next();
if (pad.equals(putpad)){
System.out.println("用户:【"+ putuser +"】登录成功!");
break;//登录成功!跳出死循环
}else {
sum--;//试错计数
if (sum!=0) System.out.print("密码不对!只剩【"+ sum +"】次机会了,请重新输入:");
if (sum == 0) System.out.println("您无权访问,请稍后再试!");
continue;//密码不对,进入下一循环
}
}
}else {
sum--;//试错计数
if (sum!=0) System.out.print("没有该用户,只剩【"+ sum +"】次机会了,请重新输入:");
if (sum == 0) System.out.println("您无权访问,请稍后再试!");
continue;//用户名不对,进入下一循环
}
// 如果一切顺利,输入用户名密码后程序会执行到这里,还得手动跳出死循环
break;
}
}
}
运行String username = "admin";//用户名
String pad = "123";//密码
欢迎使用Windows系统,请输入用户名:zhangsan
没有该用户,只剩【2】次机会了,请重新输入:admin
请输入密码:666
密码不对!只剩【1】次机会了,请重新输入:123
用户:【admin】登录成功!
欢迎使用Windows系统,请输入用户名:lisi
没有该用户,只剩【2】次机会了,请重新输入:admin
请输入密码:888
密码不对!只剩【1】次机会了,请重新输入:999
您无权访问,请稍后再试!