生成 1 到 10 之间的随机数 Java
我想在Java中生成一个介于1和10之间的数字。
这是我尝试过的:
Random rn = new Random();
int answer = rn.nextInt(10) + 1;
有没有办法告诉在调用 nextInt 方法时要在括号中放入什么以及要添加什么?()
我想在Java中生成一个介于1和10之间的数字。
这是我尝试过的:
Random rn = new Random();
int answer = rn.nextInt(10) + 1;
有没有办法告诉在调用 nextInt 方法时要在括号中放入什么以及要添加什么?()
如文档所述,此方法调用返回“一个伪随机,均匀分布的int值,介于0(包括)和指定值(独占)之间”。这意味着在您的案例中,您将获得从0到9的数字。因此,通过在该数字上添加一个,您已经正确完成了所有操作。
一般来说,如果您需要从到(包括两者)生成数字,您可以编写min
max
random.nextInt(max - min + 1) + min
执行此操作的标准方法如下:
提供:
并返回一个介于最小值和最大值之间的整数(包括最大值)。
Random rand = new Random();
// nextInt as provided by Random is exclusive of the top value so you need to add 1
int randomNum = rand.nextInt((max - min) + 1) + min;
请参阅相关的 JavaDoc。
正如Aurund所解释的那样,在短时间内创建的随机对象往往会产生类似的输出,因此最好将创建的随机对象保留为字段,而不是在方法中。