10行Java代码实现输出任意位数随机验证码
以下为具体实现代码:
import java.util.Random;
public class Yzm {
public static void main(String []args) {
String code=createCode(6);
System.out.println("随机验证码:"+code);
}
// 声明一个函数返回值为String,形参为n,通过形参来控制需要输出的验证码个数
public static String createCode(int n) {
String code=""; //声明一个String变量初始化为空,用来储存验证码
Random r=new Random(); //声明random用来产生随机数
for(int i=0;i<n;i++) //使用循环产生10个随机数并保存在code中
code+=r.nextInt(10);
return code; //将code返回
}
}
这段代码只能产生纯数字类型的任意位验证码,下面实现数字与大小写字母混合的任意位数验证码
具体代码如下:
import java.util.Random;
public class RandomTest {
public static void main(String []args) {
String code=createCode(6);
System.out.println("随机验证码:"+code);
}
public static String createCode(int n) {
String code="";//建立空串
Random r=new Random();//声明random对象
for(int i=0;i<n;i++) {
int type=r.nextInt(3);//nextInt(3)是在[0,3)范围内产生任意的整数
switch(type) {
case 0:
char ch =(char)(r.nextInt(26)+65);//根据ASCII代码,大写字母是65-90,此处产生大写字母,前面的(char)是将ASCII转化为字符。
code+=ch;
break;
case 1:
char ch1=(char)(r.nextInt(26)+97);//根据ASCII代码,小写字母是97-122,此处产生大写字母,前面的(char)是将ASCII转化为字符。
code+=ch1;
break;
case 2:
code+=r.nextInt(10);//nextInt(10)是在[0,10)范围内产生任意的整数
break;
}
}
return code;
}
}
代码实现的效果:
结果显示每运行一次都会产生一串随机验证码
QQ:741254872