需求:定义方法随机生产一个指定位数的验证码(每位可能是数字,大写字母,小写字母)
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