本文主要是介绍Java生成一个5位的随机验证码(大小写字母和数字),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
生成验证码
内容:可以是小写字母,也可以是大写字母,还可以是数字
规则:长度为5
内容中四位字母,一位数字
其中数字只有一位,但是可以出现在任意位置。
package test;import java.util.Random;public class Test4 {public static void main(String[] args) {/*类似于生成验证码内容:可以是小写字母,也可以是大写字母,还可以是数字规则:长度为5内容中四位字母,一位数字其中数字只有一位,但是可以出现在任意位置。*/String yzm = test();System.out.println("随机验证码: " + yzm);}public static String test() {//1.可以把所有的大小写字母都放在一个数组中char[] arr = new char[52];//a-z A-Zint index = 0;for (char c = 'A'; c <= 'Z'; c++) {arr[index++] = c;}for (char c = 'a'; c <= 'z'; c++) {arr[index++] = c;}//2.在数组中随机获取4次Random random = new Random();StringBuilder yzm = new StringBuilder();for (int i = 0; i < 4; i++) {yzm.append(arr[random.nextInt(52)]);}//3.生成一个0~9之间的随机数拼接到最后String num = "0123456789";//把生成的验证码变成一个字符数组//再让最后一个元素跟前面的随机位置的元素进行交换//交换完毕之后再变成字符串yzm.append(num.charAt(random.nextInt(num.length())));char[] yzmArray = yzm.toString().toCharArray();char temp = yzmArray[4];int randomIndex = random.nextInt(4);yzmArray[4] = yzmArray[randomIndex];yzmArray[randomIndex] = temp;return new String(yzmArray);}}
运行结果
这篇关于Java生成一个5位的随机验证码(大小写字母和数字)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!