package yanZhengMa; /* 简单生成验证码 */ import java.util.Random; import java.util.Scanner; public class homeWork { public static void main(String[] args) { //定义验证码的字符集 String zifuchuan="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; //生成随机数 Random rand=new Random(); //创建了一个 StringBuilder 对象,用于高效地构建最终的验证码字符串 StringBuilder builder=new StringBuilder(); //打印限制的个数 for(int i=0;i<6;i++){ //创建一个随机数长度为定义的字符集储存在定义的变量里 int index=rand.nextInt(zifuchuan.length()); //调用创建的对象后面增加定义的字符串,通过charAt 获取每次循环中的字符串中指定位置的字符 builder.append(zifuchuan.charAt(index)); } //输出则是,转换成字符串,用toString String builders=builder.toString(); System.out.println("验证码="+builders); //获取用户输入 Scanner scan=new Scanner(System.in); System.out.println("不区分大小写,请输入验证码:"); String usepassword=scan.nextLine(); //验证 // 判断验证码和用户输入的字符串的数值是否相等,用equals 因为String的内部已经把equals重写了,所以比对的是里面的数值,而不是内存地址 //IgnoreCase是用来忽略大小写,因此验证码可以不用区分大小写 if (builders.equalsIgnoreCase(usepassword)){ System.out.println("验证码正确"); }else { System.out.println("验证码错误,正确验证码="+builder.toString()); } } }