CodeUtil【隨機字串工具類】
阿新 • • 發佈:2022-12-12
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; } }