2、先将可选择的字符都放到一个StringBuilder对象中。
3、怎样随机获取其中的四个字符呢?如果能随机获取一个,再获取四次,就可以了。那么怎样随机获取一个呢?
字符串中的字符是有索引的,如果可以随机获取到一个索引,就相当于随机获取到了该索引上的字符。
2.1、定义循环从a-z,使用StringBuilder的append方法依次添加所有小写字母
2.2、定义循环从A-Z,使用StringBuilder的append方法依次添加所有大写字母
2.3、定义循环从0-9,使用StringBuilder的append方法依次添加所有数字字符
3、创建Random对象。定义一个空字符串用于保存验证码。
4、定义一个执行4次的循环,用于获取4个字符。
4.1、在循环中,使用Random的nextInt方法,随机获取一个从索引0(包含)到字符串的长度(不包含)的索引。
4.2、使用StringBuilder的charAt方法,获取该索引上的字符,将其拼接到验证码字符串中。
import java.util.Random; /* 验证码: 常用API random,string,stringBuilder */ public class YanZhengMa { public static void main(String[] args) { //创建字符串对象,用来接受方法的返回值 String code = getRandomCode();//()返回值 //打印输出 System.out.println("验证码:"); System.out.println(code); } //创建getRandomCode方法用于产生随机验证码 private static String getRandomCode() { //创建字符序列对象 StringBuilder stringBuilder = new StringBuilder(); //循环遍历 for (char ch = ‘a‘; ch <= ‘z‘; ch++) { //产生小写字母字符 stringBuilder.append(ch); } for (char ch = ‘A‘; ch <= ‘Z‘; ch++) { //产生大写字母字符 stringBuilder.append(ch); } for (char ch = ‘0‘; ch <= ‘9‘; ch++) { //产生数字字符 stringBuilder.append(ch); } //创建随机数对象 Random random = new Random(); //定义字符串对象,定义一个空字符串用于保存验证码 String code = ""; //循环遍历 for (int i = 0; i < 4; i++) { //使用Random的nextInt方法,随机获取一个从索引0(包含)到字符串的长度(不包含)的索引。 int index = random.nextInt(stringBuilder.length()); //获取该索引上的字符,将其拼接到验证码字符串中。 code = code + stringBuilder.charAt(index); } //返回值 return code; } }
Java 验证码: 常用API random,string,stringBuilder 练习
原文:https://www.cnblogs.com/521521cm/p/14324596.html