package com.Lucky.Util; import java.util.ArrayList; import java.util.Random; /** * 自定义的随机字符串工具类 */ public class CodeUtil { //方法 public static String StrCode(){ //创建集合,储存字符串的数据 ArrayList<Character> list=new ArrayList<>(); //charactor的范围: 0-51 //添加大小写字母 for (int i = 0; i < 26; i++) { list.add((char) ('a'+i)); //强制转换为char类型 a-z list.add((char) ('A'+i)); //强制转换为char类型 A-Z } //创建空字符串 String result=""; //创建随机对象 Random ran=new Random(); //遍历添加长度为4的随机字符串 for (int i = 0; i < 4; i++) { //获取随机字符串的索引 int c=ran.nextInt(list.size()); //根据索引将随机值找到并添加到result中 char res=list.get(c); result=result+res; //自动转换类型为String } //随机生成2位数数字并且拼接到result中 for (int i = 0; i < 2; i++) { int num=ran.nextInt(10); //限定范围10以内 result=result+num; //自动转换类型为String } //要实现真正随机字符串,将result字符串的顺序进行打乱 //1.将字符串转换成char数组进行操作 char[] charLis=result.toCharArray(); //2.随机获取charLis数组的一个索引跟其他位置的索引位置进行互换 char temp=charLis[4]; //这里就将索引为4的数据找出来 //3.在char数组中随机选择一个索引跟temp的数据互换 int intNum=ran.nextInt(charLis.length); charLis[4]=charLis[intNum]; charLis[intNum]=temp; //4.重新将char转换回String字符串 String Str=new String(charLis); //5.返回字符串 return Str; } }
标签:result,String,char,随机,字符串,CodeUtil,charLis From: https://www.cnblogs.com/Lucky-only/p/16975406.html