Java入门题-密保验证

问题:设计一个密保验证,由4位随机字母组成,用户输入验证码验证,一共5次机会

重要:随机字母、随机组合、字母分大小写

代码:需要引入 import java.util.Random;   import java.util.Scanner;

 

int VF = 0; // 用于循环
while (VF < 5) { // 规定验证5次
Random r = new Random(); // 随机数用于生产随机字母
int code1 = r.nextInt(52); // 生成大写或小写字母
int code2 = r.nextInt(52);
int code3 = r.nextInt(52);
int code4 = r.nextInt(52);

char[] Code = new char[52]; // 生成抽选大小写字母的数组
for (int i = 0; i < 52; i++) {
if (i < 26) {
Code[i] = (char) ('a' + i);
} else {
Code[i] = (char) ('A' + i - 26);
}
}

char[] CodeUnited = new char[4]; // 二次生成随机序列
CodeUnited[0] = Code[code1];
CodeUnited[1] = Code[code2];
CodeUnited[2] = Code[code3];
CodeUnited[3] = Code[code4];

int CU1 = r.nextInt(4);
int CU2 = r.nextInt(4);
int CU3 = r.nextInt(4);
int CU4 = r.nextInt(4);

// 组合随机字母成验证码
String VFcode = " " + CodeUnited[CU1] + CodeUnited[CU2] + CodeUnited[CU3] + CodeUnited[CU4];
System.out.println("验证码为:" + VFcode + "\n 请输入验证码:");
Scanner UserPutIn = new Scanner(System.in);
String UPI = UserPutIn.next();

// 验证密码是否正确,一共5次机会
if (VFcode.equals(UPI)) {
VF = 0;
break;
} else {
VF++;
}
}

// 判断验证结果
if (VF != 0) {
System.out.println("验证失败");
}else {
System.out.println("验证成功");
}
 
 
// 随机大小写字母,也可以通过更简单的方式来表示
// 随机大写字母
Random r = new Random();
int rn = r.nextInt(26) + 65;
System.out.println((char) (rn));

// 随机小写字母
Random r1 = new Random();
int rn1 = r.nextInt(26) + 97;
System.out.println((char) (rn1));
posted @ 2023-08-09 15:34  Lee597  阅读(33)  评论(0)    收藏  举报