生成验证码的两种方法 注释的是第一种 只是创建的方式不同

import javax.swing.*;
import java.util.Random;

public class 生成验证码 {
/*public static void main(String[] args) {
String code="";
char[] crr=new char[62];
for (int i=0;i<26;i++){
crr[i]=(char)(‘A’+i);
crr[i+26]=(char)(‘a’+i);
if (i<=9){
crr[i]=(char)(i);
}//这一步有问题

    }//把a到z和A到Z和0~9都赋给了crr[]相当于建立了存放验证码单个元素的数据库,存入数组中
    String []code1=new String[4];//建立一个数组存放验证码
    Random r=new Random();
    int index;
    for (int i=0;i<4;i++){
        index=r.nextInt(crr.length);//取头不取尾
        code1[i]=""+crr[index];//把crr中的随机元素给了验证码数组中
       //第一个不用比较
        if (i>=1){
            for (int j=0;j<i;j++) {
                if (code1[i].equals(code1[j])) {
                    index = r.nextInt(crr.length);
                    code1[i] = "" + crr[index];
                }
            }

        }
        code += code1[i];

    }
    System.out.println(code);
}*/
public static void main(String[] args) {
    char Lower = 'a';
    char Upper = 'A';
    int num = 0;
    String[] srr = new String[62];
    Random r = new Random();
    for (int i = 0; i < 26; i++) {
        srr[i] = Lower + "";
        Lower++;
    }
    for (int i = 26; i < 52; i++) {
        srr[i] = Upper + "";
        Upper++;
    }
    for (int i = 52; i < 62; i++) {
        srr[i] = num + "";
        num++;
    }
    int index = -1;
    String[] code = new String[4];
    boolean[] flag = new boolean[srr.length];
    for (int i = 0; i < code.length; i++) {
        do {
            index = r.nextInt(srr.length);
        } while (flag[index]);
        code[i] = srr[index];
        flag[index] = true;
    }
    for (int i=0;i<4;i++) {
        System.out.print(code[i]);
    }
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值