import java.util.Random;
import java.util.Scanner;
public class code {
public static void main(String[] args) {
//需求:开发一个程序,可以生成指定位数的验证码,每位可以是数字、大小写字母。
Scanner scanner = new Scanner(System.in);
System.out.println("------请输入需要生成验证码的长度------");
int codeLength = scanner.nextInt();
System.out.println("生成的验证码为:"+randomCode(codeLength));
}
public static String randomCode(int codeLength){
//思路:用三个数字分别表示,0表示生成随机数,1表示生成随机大写字母,2表示生成随机小写字母。
Random random = new Random();
String codes = "";//接受生成的验证码。
for (int i = 1; i <= codeLength ; i++) {//表示生成几位验证码。
int codeType = random.nextInt(3);//由于生成的验证码字符类型有三种,所以仅需生成0、1、2,所以边界值为3。
switch (codeType){
case 0 : codes = codes + random.nextInt(10);//生成一位数字,所以边界值为10.注意:中间的“+”为字符串拼接符。
break;
case 1 : codes = codes + (char)(random.nextInt(26)+65);//ASCLL表中,A->65,Z->90,所以生成65~90的数字并强制类型转换成字符类型。
break;
case 2 : codes = codes + (char)(random.nextInt(26)+97);//ASCLL表中,a->97,z->122,所以生成97~122的数字并强制类型转换成字符类型。
}
}
return codes;
}
}
生成指定位数的验证码
最新推荐文章于 2024-09-25 11:06:23 发布