常規思路生成隨機的字符串
生成隨機字符串的思路:
1.生成字符串的隨機長度
2.構造一個裝有a-z,A-Z.0-9的基礎字符數組
3.從基礎字符數組中隨機取出一個字符,放入StringBuffer類的一個內容可變的String對象中
package?com.imooc.collection; import?java.util.ArrayList; import?java.util.Collections; import?java.util.List; import?java.util.Random; public?class?CollectionsTest?{ public?static?final?int?STRINGLENGTH?=?10; /** ?*?生成內容隨機且長度為(1-10)以內的隨機的字符串 ?*/ public?static?String?getRandomString(){ Random?random?=?new?Random(); //?生成1-10以內的隨機數 int?stringlength?=?random.nextInt(STRINGLENGTH)+1; //?生成stringlength長度的隨機字符串 //?基本字符串 String?BaseString?=?"qwertyuiopasdfghjklzxcvbnm1234567890" +?"QWERTYUIOPASDFGHJKLZXCVBNM";? //?構造長度內容可變的字符串對象sb,用來承裝取出的隨機字符 StringBuffer?sb?=?new?StringBuffer(); for(int?i?=?0;?i?<?stringlength;?i++){ //?從基本字符組中隨機抽出一個字符的所在位置 int?num?=?random.nextInt(BaseString.length()); //?將BaseString中特定位置上的字符取出放入字符串sb中 sb.append(BaseString.charAt(num)); } //?將StringBuffer類型的sb轉換成String類型返回 return?sb.toString(); } public?void?testSort3(){ //?創建一個泛型為String類的字符串列表 List<String>?stringlist?=?new?ArrayList<String>(); //?向該列表中添加字符串 for(int?i?=?0;?i?<?10;?i++){ stringlist.add(getRandomString()); } System.out.println("--------------排序前--------------"); for(String?str?:?stringlist){ System.out.println("字符串:?"?+?str); } System.out.println("--------------排序后--------------"); Collections.sort(stringlist); for(String?str?:?stringlist){ System.out.println("字符串:?"?+?str); } } public?static?void?main(String[]?args)?{ CollectionsTest?ct?=?new?CollectionsTest(); ct.testSort3(); }
????我的生成隨機字符串的思路很簡單,也很常規。在問答里有很多童鞋的思路算法非常有創造性,在這里要向他們學習。
2016-01-15
我的思路和你差不多,不過我是通過ASII碼表來構造字符串的,通過隨機數字對應的char類型來獲取字符,用一個新的String類對象來接收char的內容,再完成String的拼貼,從而得到隨機長度的隨機字符條