1. 程式人生 > >java隨機生成××到××位長度字串,數字和字母組合(6-13位舉例子)

java隨機生成××到××位長度字串,數字和字母組合(6-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;
}