【发布时间】:2014-04-09 21:55:44
【问题描述】:
我正在尝试创建一个生成 4 位整数并将其存储在字符串中的方法。
4 位整数必须介于 1000 和 10000 以下。然后该值必须存储到 PINString。
这是我到目前为止所拥有的。我收到错误Cannot invoke toString(String) on the primitive type int。我该如何解决?
public void generatePIN()
{
//generate a 4 digit integer 1000 <10000
int randomPIN = (int)(Math.random()*9000)+1000;
//Store integer in a string
randomPIN.toString(PINString);
}
【问题讨论】:
-
为什么要高于 1000。我认为 0050 是一个有效数字(虽然看起来很奇怪)。
-
显然不是完全相同的副本,但使用相同的解决方案会出现相同的问题......所以。
-
适用于那些寻求生成 OTP 引脚的人,这些引脚可能具有 0004、0032 或 0516 等值。这是代码。
Random random = new Random(); String generatePin = String.format("%04d", random.nextInt(10000)); System.out.println(generatePin); -
这是另一种方式。
Random random = new Random(); String generatePin = String.format("%04d", random.nextInt(10000000) % 10000); System.out.println(generatePin);