import java.util.Random;
import java.util.Scanner;
public class ValidateDemo {
static String pool = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
/**
* 生成指定位数的验证码
* @param count 位数
* @return 返回随机产生的验证码
*/
public String genCode(int count){
Random r = new Random();
System.out.println(r.nextInt(count));
String code = "";
for (int i = 0; i < count; i++) {
//获取字符串长度
int len = pool.length();
//根据给定的长度值随机获取字符索引
int index = r.nextInt(len);
//获取指定索引出的字符
char c = pool.charAt(index);
//拼接到字符串中
code += c;
}
return code;
}
/**
* 完成验证过程
* @param genCode
* @param inputCode
* @return
*/
public boolean validate(String genCode,String inputCode){
//忽略大小写比较生成的验证码
return genCode.equalsIgnoreCase(inputCode);
}
public static void main(String[] args) {
ValidateDemo vd = new ValidateDemo();
String genCode = vd.genCode(5);
System.out.println("验证码:"+genCode);
System.out.println("请输入验证码:");
Scanner sc = new Scanner(System.in);
String inputCode = sc.nextLine();
while(vd.validate(genCode, inputCode)==false){
System.out.println("验证码错误,请重新输入");
inputCode = sc.nextLine();
}
System.out.println("验证通过!");
}
}