Generating a Random Pin of 5 Digits
我想根据我在Stack Overflow上发现的随机数生成Unique Pins如何生成一个随机的五位数Java。 该问题使用时间来生成数字,因此您可以获得大量重复项。
这是我的代码
1 2 3 4 5 6 7 8 9 | public int createRandomPin() { int k = random.nextInt(Integer.SIZE); k = (k + 1) * 9999; if (9999 > k || k > 99999) { //then regenerate } else { return k; } } |
我的问题
然后,NetBeans会发出错误"返回"的警告。 我还需要重新构造代码,这样如果它不是一个5位数的引脚,它会在"返回k"之前再次生成。
我建议使用SecureRandom类生成随机数,然后因为它需要5位数,使用random.nextInt(100000)创建0到99999之间的随机数,这里0是包含的,100000是独占的,然后将其格式化为5数字加零。
1 2 3 4 | SecureRandom random = new SecureRandom(); int num = random.nextInt(100000); String formatted = String.format("%05d", num); System.out.println(formatted); |
我希望这能解决你的问题
编辑:这篇文章错误地说10,000,已编辑说100,000
使用它作为
只需生成一个int
现在你对5位数字引脚的定义不准确,
来自apache common lang3的