2017-04-24 39 views
0
public String generateCustomerID(String id, int digit) 
{ 
    randomGenerator = new Random(); 
    int index = 0; 
    for(int i = 1; i <= digit; i++) 
    { 
     index = randomGenerator.nextInt(digit); 
    } 

} 
    return id + index; 

如果我在字符串id中鍵入「AB」,並在int數字中輸入數字6,我怎麼能產生像「AB134246」這樣的東西。如何根據參數生成隨機數字?

+0

您需要隨機數加在每個循環迭代的字符串的結尾開始,也做你想做獲得0到9之間的隨機數? –

+0

'return id + new Random().ints(digit,0,10).mapToObj(String :: valueOf).collect(Collectors.joining());' – shmosel

+0

假設您需要生成6位隨機數。使用此代碼'Random randomGenerator = new Random(); int index = 100000 + randomGenerator.nextInt(900000);' –

回答

0

基於你已經發布的代碼,這是一個有效的解決方案:

public String generateCustomerID(String id, int digit) 
{ 
    randomGenerator = new Random(); 
    String index = ""; 
    for(int i = 1; i <= digit; i++) { 
     index += randomGenerator.nextInt(10); //Generate a value between 0 and 9 (inclusive) 
    } 

    return id + index; 
} 
+1

誰說OP不想要零?什麼是'數字部分'?你的意思是'索引'?你爲什麼要調用'nextInt(digit)'? – shmosel

+0

感謝您的建議!我編輯了答案,之前我做了一個爛攤子:S – Flood2d

+0

非常感謝。 – jackie