Random类:
用于生成随机数
import java.util.Random;
导入必要的类
generateVerificationCode()方法:
这是一个静态方法,可以直接通过类名调用
返回一个6位数字的字符串,首位不为0
生成首位数字:
random.nextInt(9) + 1
:nextInt(9)
生成0-8的随机数使用
StringBuilder
构建验证码字符串,先添加首位数字
确保验证码的第一位数字不会是0
生成剩余5位数字:
循环5次,生成验证码的剩余5位
每次从
allChars
中随机选择一个字符(可以是数字或字母)random.nextInt(allChars.length())
生成一个随机索引将选中的字符添加到
StringBuilder
中
返回结果:
sb.toString()
将StringBuilder转换为String并返回
import java.util.Random;
public class Main {
public static void main(String[] args) {
System.out.println(generateVerificationCode());
}
/**
* 生成6位随机验证码(数字+字母),首位不为0且为数字
* @return 随机验证码字符串
*/
public static String generateVerificationCode() {
Random random = new Random();
// 定义可用字符集
String numbers = "0123456789";
String letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
String allChars = numbers + letters;
// 首位必须是数字且不为0
int firstDigit = random.nextInt(9) + 1; // 1-9
StringBuilder sb = new StringBuilder().append(firstDigit);
// 生成剩余5位,可以是数字或字母
for (int i = 0; i < 5; i++) {
char c = allChars.charAt(random.nextInt(allChars.length()));
sb.append(c);
}
return sb.toString();
}
}
运行结果如下: