实现随机验证码
随机验证码:
法一:普通方法
核心逻辑:
- 1.定义一个String类型的变量存储验证码字符。
- 2.定义一个for循环,循环n次(n为验证码的所需要字符的个数)。
- 3.随机生成三个数字依次表示:大写字母、小写字母、数字。并使用switch语句判断。
- 4.把生成的数字给switch判断并生成对应的随机字符,把字符交给String变量。
- 5.循环结束后,返回String类型的变量。
代码展示:
//1.定义一个方法返回一个随机验证码:String
public static String creatCode(int n) {
//2.循环n次,依次生成随机字符
String code = "";
Random random = new Random();
for (int i = 0; i < n; i++) {
//3.生成一个随机字符:英文 大写 小写 数字(0 1 2)
int type = random.nextInt(3);
switch (type) {
case 0:
//大写 (65 ~ 65+25) = (0 ~ 25)+65
char ch = (char) (random.nextInt(26) + 65);
code += ch;
break;
case 1:
//小写 (0 ~ 25) + 97
char ch1 = (char) (random.nextInt(26) + 97);
code += ch1;
break;
case 2:
//数字
code += random.nextInt(10); // 0 ~ 9
break;
}
}
return code;
}
法二:
核心逻辑:String类方法
- 1.定义一个String类型变量存储a~z A~Z 0~9之间的全部字符。
- 2.循环5次,随机一个范围内的索引,获取对应字符连接起来即可。
代码展示:
//1.定义可能出现的字符信息
String data = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
//2.循环5次,每次生成一个随机的索引,提取对应的字符连接起来即可
Random random = new Random();
String code = "";
for (int i = 0; i < 5; i++) {
//随机一个索引
int index = random.nextInt(data.length());
char c = data.charAt(index);
code += c;
}
//3.输出字符串变量
System.out.println(code);
代码核心逻辑来自黑马案例
本文来自博客园,作者:Haziy,转载请注明原文链接:https://www.cnblogs.com/zhangyouren/p/16401918.html
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。