import java.util.Random;
import java.util.Scanner;
public class yanzhengma {
public static void main(String[] args) {
//新建扫描仪
Scanner input = new Scanner(System.in);
//新建随机数对象
Random random = new Random();
//新建26个英文字母大小写数组
String[] VerificationCode ={ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N",
"O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i",
"j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" };
//设置一个数组来接受随机生成出来的字母
String[] scers = new String[4];
//设置布尔 进行游戏循环 ,如果用户看不清楚就 重新随机数组
boolean kanbuqing = true;
//游戏循环
while (kanbuqing){
//使用循环来接收验证码!
for (int i = 0; i < scers.length; i++) {
//定义一个int 类型的数组下标 来从数组中 取字母
int a = random.nextInt(VerificationCode.length+1);
//利用数组分别接收随机出来的字母
scers[i] = VerificationCode[a];
}
//利用数组下标,组合字母
String YanZhen = scers[0]+scers[1]+scers[2]+scers[3];
//数组验证码
System.out.println(YanZhen);
//询问用户看不看得清楚验证码
System.out.println("看的清楚吗?清楚 y / 不清楚 n");
String invisibility = input.next();
//如果用户输入 n 看不清 就重新随机一组验证码!
//如果用户输入 y 看的清 就继续
if (invisibility.equals("n")){
continue;
}else if (!invisibility.equals("y")){
System.out.println("无效输入,结束程序!");
}
//让用户输入验证码
System.out.print("请输入验证码:");
String user = input.next();
//判断验证码是否正确
//正确就结束
//不正确就重试,然后重新随机验证码!
if (YanZhen.equalsIgnoreCase(user)){
System.out.println("验证码正确!");
return;
}else{
System.out.println("验证码错误请重试!");
continue;
}
}
}
}