通過Math.random函數生成所需的字符所有序列,通過判斷當前字符是否屬於大小寫、數字,符合者加入數組內,直到數組存儲N位為止,最后把當前數組轉為字符串返回調用處。
1 /** 2 * 隨機生成由數字、字母組成的N位驗證碼 3 * 4 * @return 返回一個字符串 5 */ 6 public static String getCode(int n) { 7 char arr[] = new char[n]; 8 int i = 0; 9 while (i < n) { 10 char ch = (char) (int) (Math.random() * 124); 11 if (ch >= 'A' && ch <= 'Z' || ch >= 'a' && ch <= 'z' || ch >= '0' && ch <= '9') { 12 arr[i++] = ch; 13 } 14 } 15 //將數組轉為字符串 16 return new String(arr); 17 } 18 }
1 public static void main(String[] args) { 2 String str = getCode(4); 3 System.out.println(str); 4 }
運行效果如下: