這是我的代碼
List<String>?st=new?ArrayList<String>(); String?b="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM0123456789"; Random?random=new?Random(); for(int?i=0;i<10;i++){ String?a=""; do{ //首先隨機(jī)0~10的數(shù)字來確定長度 int?c=random.nextInt(10)+1; for(int?j=0;j<c;j++){ //隨機(jī)生成0-61的數(shù)字,取出b字符串里面相對應(yīng)位置的字符添加到a里面 int?t=random.nextInt(61); a=a+b.charAt(t); } }while(st.contains(a)); st.add(a); System.out.println("將要添加字符串:"+a);
2015-11-14
while條件好像寫錯了,個人認(rèn)為應(yīng)該是while(!st.contains(a))
2015-11-11
有兩個建議:
建議把int?c=random.nextInt(10)+1; ? ? ?改成int c=random.nextInt(9)+1; ? ? ?這樣就不會生成11位的String了。
建議把int?t=random.nextInt(61); ? ? ? 改成int t=random.nextInt(b.length()-1); ? ? 這樣程序更加靈活一些。