验证码

public static void main(String[] args) {
//2、调用获取验证码的方法,将得到的验证码输出到控制台
while (true){
String checkCode = getCheckCode();
System.out.println("当前验证码:"+checkCode);
//3、通过键盘录入获取用户输入的验证码
System.out.println("请输入:");
Scanner sc=new Scanner(System.in);
String userInput=sc.nextLine();
//4、比较用户输入的和键盘录入的验证码是否匹配,这里使用忽略大小写比较
if (checkCode.equalsIgnoreCase(userInput)){
//4.1、匹配正确,给出提示信息,结束循环
System.out.println("验证通过..");
break;
}else {
System.out.println("验证失败..");
}
}
}
//1、定义一个方法,专门用来生成验证码
public static String getCheckCode(){
//1.1 定义一个字符串表示大写字母所有取值范围
String upCode="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//1.2 将大写字母对应的字符串调用toLowerCase()得到所有小写字母取值范围
String lowerCode=upCode.toLowerCase();
//1.3 定义一个字符串表示所有数字取值范围
String numberCode="0123456789";
//1.4 定义一个StringBuilder变量 sb,用于将所有字符拼接到一起
StringBuilder sb=new StringBuilder(upCode);
sb.append(lowerCode).append(numberCode);
String allCode=sb.toString();
//1.5 重新定义一个StringBuilder变量 sb1,用来拼接验证码
StringBuilder sb1=new StringBuilder();
//1.6 循环四次,每次从sb中取一个随机字符
Random r=new Random();
for (int i = 0; i < 4; i++) {
//使用Random生成随机索引
int index=r.nextInt(allCode.length());
//获取随机索引位置对应的字符
char ch=allCode.charAt(index);
//将获取到的字符拼接到sb1中
sb1.append(ch);
}
//1.7 将sb1转为字符串并返回
return sb1.toString();
}
posted @ 2022-05-10 09:49  雾开见月  阅读(402)  评论(0)    收藏  举报