package test14; import java.util.Random; public class Yan { public static void main(String[] args) { /*生成验证码 内容:可以是大写字母,小写字母,数字 数字可以出现在验证码的随机位置 规则:长度为5 内容中四位字母,1位数字 其中数字只有1位,但是可以出现在任意位置*/ //1.可以把所有的大写字母,小写字母都放到一个数组 char[] arr = new char[52]; int[] num = new int[9]; //存入a-z A-z char j = 65; for (int i = 0; i < 26; i++, j++)//存入大写字母 arr[i] = j; j = 97; for (int i = 26; i < 52; i++, j++) arr[i] = j; //将字符存入字符串 String str = ""; Random r = new Random(); for (int i = 0; i < 4; i++) { int k = r.nextInt(arr.length); str += arr[k]; } //2.数字0-9 j = 1; for (int i = 0; i < 9; i++, j++) { num[i] = j; } //将最后一个随机数字加入str中 Random rn = new Random(); int g = rn.nextInt(num.length); str += num[g]; //将字符串转换为字符数组,方便将内容的位置变换 char[] arr1=str.toCharArray(); String str1=""; for(int i=0;i<arr1.length;i++) { Random rs=new Random(); int m=rs.nextInt(arr1.length); str1+=arr1[m]; } System.out.println(str1); } }