目录
一、内容简介
在日常生活中,我们总是能用到各种各样的验证码,本文就是介绍生成验证码的方法。
二、具体实现
1.根据字符串的随机索引获得
这种方法是在数组中先存入0——9和26个大小写字母,生成随机索引获得。
import java.util.Random;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
Random ran = new Random();
String str = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
System.out.println("请输入所需验证码的位数:");
int n = sca.nextInt();
StringBuffer stringBuffer = new StringBuffer();
for (int i = 0; i < n; i++) {
int j = ran.nextInt(str.length());
stringBuffer.append(str.charAt(j));
}
System.out.println("验证码为:" + stringBuffer);
}
}
2.对每个位置的字符随机
- 这个方法是先生成一个随机数,通过switch语句判断当前位是数字还是字母。
- 判断完之后,再通过随机数生成当前位的字符。
import java.util.Random;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
Random ran = new Random();
System.out.println("请输入所需验证码的位数:");
int n = sca.nextInt();
StringBuffer stringBuffer = new StringBuffer();
for (int i = 0; i < n; i++) {
int num = ran.nextInt(3);//生成0 1 2
switch (num) {
case 0:
//数字
stringBuffer.append(ran.nextInt(10));
break;
case 1:
//大写字母
char CH = (char) (ran.nextInt(26) + 65);
stringBuffer.append(CH);
break;
case 2:
//小写字母
char ch = (char) (ran.nextInt(26) + 97);
stringBuffer.append(ch);
break;
}
}
System.out.println("验证码为:" + stringBuffer);
}
}