案例:开发验证码
需求:开发一个程序,可以生成指定位数的验证码,每位可以是数字、大小写字母
一、代码
import java.util.Random;
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
System.out.println(creatCode(8));
}
public static String creatCode(int n){
Random r = new Random();
//定义一个String类型的变量用于记住产生的每位随机字符
String str = "";
//定义一个for循环用于控制产生多少位随机字符
for(int i = 1 ; i <= n ; i++){
int type = r.nextInt(3);
switch (type){
case 0:
//随机一个数字字符
str += r.nextInt(10);
break;
case 1:
//随机一个大写字母 A 65 Z 65+25
char ch1=(char)( r.nextInt(26) + 65);
str += ch1;
break;
case 2:
//随机一个小写字母 a 97 z 97+25
char ch2 =(char)( r.nextInt(26) + 97);
str += ch2;
break;
}
}
return str;
}
}
二、运行结果
tX506cUO
总结
1、定义一个for循环,循环5次
2、随机生成0、1、2的数据,一次代表当前要生成的字符是:数字、大写字母、小写字母
3、把0、1、2交给switch生成对应类型的随机字符
4、在循环外定义一个String类型的变量用来连接生成的随机字符
5、循环结束后,返回String类型的变量