如何在一个范围内生成随机数

时间:2013-04-08 14:29:32

标签: java math random floor ceil

computerTotal = (int) Math.ceil(Math.random() * 21);

有人可以告诉我如何获得16 - 21随机数当我尝试实现Math.floor函数时我一直都会遇到错误......正如你所看到的,我不太擅长将函数放在函数中。

非常感谢!

2 个答案:

答案 0 :(得分:5)

如果是Java,请使用Random类。

Random r = new Random();
int myRand = 16+ r.nextInt(6); //16+[0-6) = 16-21

答案 1 :(得分:1)

要在(包括)minmax之间创建随机数,您可以这样做:

Math.floor(Math.random() * (max - min + 1)) + min

编辑:{I}标签仅在我建议之后添加;在它没有任何标签暗示特定语言之前 - 所以在语言X中可能有更好/已经实现的方法很可能。这是一种非常通用的方法。