2017-04-24 38 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