çæéæºå¯ä»¥ç¨Randomç±»ï¼ä¸è½éå¤å¯ä»¥èèæ¾å¨HashSetä¸ï¼å 为HashSetçå¼æ¯ä¸è½éå¤çï¼ç代ç å¦ä¸ï¼
public class GenerateRandomLetterAndNum {
public static void main(String[] args) {
Set<String> store = getletterandnum(6);
printSet(store);
}
public static Set<String> getletterandnum(int length) {
Set<String> set =new HashSet<String>();
for (int i = 0; i < length; i++) {
String value = getrandom();
set.add(value);
}
if (set.size()<length) { //å¦æ没æçæ6ä½
String value = getrandom();//继ç»è°ç¨çæéæºæ°çæ¹æ³
set.add(value);
}
return set;
}
private static String getrandom() { //çæéæºåæ¯åæ°åæ¹æ³
String value = "";
Random random = new Random();
int gen = random.nextInt(2);//0ã1ã2
String charornum = gen % 2 == 0 ? "char" : "num";
if ("char".equals(charornum)) {
int temp = random.nextInt(2) % 2 == 0 ? 65 : 97;
int ascii = random.nextInt(26);
value += (char) (ascii + temp);
} else if ("num".equalsIgnoreCase(charornum)) {
value += String.valueOf(random.nextInt(10));
}
return value;
}
public static void printSet(Set set){ //æå°setçæ¹æ³
Iterator iterator = set.iterator();
while (iterator.hasNext()) {
String ele = (String) iterator.next();
System.out.print(ele+" ");
}
}