java 1到9的随机数_生成1到10之间的随机数Java [重复]

问题

这个问题在这里已有答案:

如何在Java中生成特定范围内的随机整数? 59个答案

我想在Java中生成1到10之间的数字。

这是我尝试过的:

Random rn = new Random();

int answer = rn.nextInt(10) + 1;

有没有办法告诉在调用nextInt方法时要在括号()中添加什么以及添加什么?

#1 热门回答(194 赞)

Asthe documentation,此方法调用返回"伪随机,均匀分布的int值介于0(包括)和指定值(不包括)"之间。这意味着在你的情况下,你将获得0到9之间的数字。所以你已经通过在该号码上添加一个来正确地完成了所有事情。

一般来说,如果你需要生成min到max(包括两者)的数字,你就写了

random.nextInt(max - min + 1) + min

#2 热门回答(65 赞)

执行此操作的标准方法如下:

提供:

最小值

最大值

并得到最小值和最大值之间的整数,包括在内。

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;

正如Aurund所解释的,在彼此短时间内创建的随机对象将倾向于产生类似的输出,因此将创建的Random对象保持为字段而不是方法是一个好主意。

#3 热门回答(14 赞)

这将用于生成数字1 - 10.确保在代码顶部导入Random。

import java.util.Random;

如果你想测试它尝试这样的事情。

Random rn = new Random();

for(int i =0; i < 100; i++)

{

int answer = rn.nextInt(10) + 1;

System.out.println(answer);

}

此外,如果你更改括号中的数字,它将创建一个从0到该数字-1的随机数(除非你添加一个当然的,然后它将从1到你输入的数字)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值