如何在Java中从randDouble获得1 - 100之间的随机数?

2022-09-03 17:06:38

好吧,我对Java还很陌生。我们被赋予了创建一个游戏的假设,你必须猜测计算机生成的随机整数。问题是我们的讲师坚持要求我们使用:

double randNumber = Math.random();

然后将其转换为一个随机整数,该整数接受1 - 100(包括1 - 100)。我有点不知所措。到目前为止,我所拥有的是这样的:

//Create random number 0 - 99
double randNumber = Math.random();
d = randNumber * 100;

//Type cast double to int
int randomInt = (int)d;

然而,随机双精度的随机遗留问题是0是可能的,而100不是。我想改变这一点,以便0不是可能的答案,而100是。帮助?


答案 1

Random r = new Random();
int randomInt = r.nextInt(100) + 1;

答案 2

你快到了。只需在结果中添加 1:

int randomInt = (int)d + 1;

这会将您的范围“移位”到 而不是 。1 - 1000 - 99


推荐