需求:定义方法随机生产一个指定位数的验证码(每位可能是数字,大写字母,小写字母)
public class Main {
public static void main(String[] args) {
//输入验证码位数
System.out.println("输入验证码的位数:");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
//调用方法生成验证码
String code = code(num);
System.out.println(code);
}
private static String code(int num) {
StringBuilder code = new StringBuilder();
Random r = new Random();
//定义for循环,循环num次。生产num个随机值
for (int i = 0; i < num; i++) {
//调用random,生成一个随机数范围为3:0为大写,1为小写,2为数字
int type = r.nextInt(3);
switch (type) {
case 0:
//调用random方法,生成大写字母对应的ascii码(65-90)
code.append((char) (r.nextInt(25) + 65));
break;
case 1:
//调用random方法,生成小写字母对应的ascii码(97-122)
code.append((char) (r.nextInt(25) + 97));
break;
case 2:
//调用random方法,生成数字(0-9)
code.append(r.nextInt(9));
break;
}
}
return code.toString();
}
}
输入验证码的位数:
5
Ego0c