我想根据我在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"之前再次生成.
我建议使用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
| 归档时间: |
|
| 查看次数: |
12942 次 |
| 最近记录: |