如何int在特定范围内生成随机值?
我试过以下,但那些不起作用:
尝试1:
randomNum = minimum + (int)(Math.random() * maximum);
// Bug: `randomNum` can be bigger than `maximum`.
Run Code Online (Sandbox Code Playgroud)
尝试2:
Random rn = new Random();
int n = maximum - minimum + 1;
int i = rn.nextInt() % n;
randomNum = minimum + i;
// Bug: `randomNum` can be smaller than `minimum`.
Run Code Online (Sandbox Code Playgroud) 我试图在原始数据类型short的范围(-32768,32767)上生成随机整数.java Random对象仅生成正数.如何在该间隔内随机创建数字?谢谢.
x = rd.nextInt((4000) - 2000) / 1000.0;
Run Code Online (Sandbox Code Playgroud)
这是在 [0, 2] 到十进制小数之间生成数字,这是我想要的,我只需要负数,所以生成的数字范围在 [-2, 2] 之间。
我想知道,如果我尝试使用以下方法获取随机整数,它应该返回负值吗?
int value = new Random().nextInt(bound);
Run Code Online (Sandbox Code Playgroud)