生成5位随机引脚

Cra*_*aig 1 java

我想根据我在Stack Overflow上发现的随机数生成Unique Pins 如何生成一个随机的五位数Java.该问题使用时间来生成数字,因此您可以获得大量重复项.

这是我的代码

public int createRandomPin() {
    int k = random.nextInt(Integer.SIZE);
    k = (k + 1) * 9999;
    if (9999 > k || k > 99999) {
        //then regenerate 
    } else {
        return k;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题

然后,NetBeans会发出错误"返回"的警告.我还需要重新构造代码,这样如果它不是一个5位数的引脚,它会在"返回k"之前再次生成.

Nar*_*uto 9

我建议使用SecureRandom类生成随机数,然后因为它需要5位数,使用random.nextInt(100000)创建0到99999之间的随机数,这里0是包含的,100000是独占的,然后将其格式化为5数字加零.

SecureRandom random = new SecureRandom();
int num = random.nextInt(100000);
String formatted = String.format("%05d", num); 
System.out.println(formatted);
Run Code Online (Sandbox Code Playgroud)

我希望这能解决你的问题

编辑:这篇文章错误地说10,000,已编辑说100,000