java隨機生成××到××位長度字串,數字和字母組合(6-13位舉例子)
阿新 • • 發佈:2019-02-13
/** * 目的 :獲取隨機 6-13之間隨機數 包含 6 和 13 * (rd.nextDouble())隨機返回0-1之間的數 不包括1 * 乘以8 隨機產生0-8之間的數 不包括8 * (int)轉換為整型 則隨機產生0-7之間的整數 */ public static void main(String[] args) { Random rd=new Random(); int pdwLength = (int)(rd.nextDouble() * 8) + 6; //隨機生成pdwLength 長的 數字 或者大小寫字母組合的密碼 String randomPassword = getStringRandom(pdwLength); } /** * Purpose:生成隨機數字和字母 * @author Hermanwang * @param length:返回字串的長度 * @return * @return String */ public static String getStringRandom(int length) { String val = ""; Random random = new Random(); // length為幾位密碼 for (int i = 0; i < length; i++) { // 判斷生成數字還是字母(字母有大小寫區別) String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num"; // 輸出字母還是數字 if ("char".equalsIgnoreCase(charOrNum)) { // 輸出是大寫字母還是小寫字母 int temp = random.nextInt(2) % 2 == 0 ? 65 : 97; val += (char) (random.nextInt(26) + temp); } else if ("num".equalsIgnoreCase(charOrNum)) { val += String.valueOf(random.nextInt(10)); } } return val; }