如何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) 给定产生1到5范围内的随机整数的函数,写一个产生1到7范围内随机整数的函数.
我想在0-500范围内创建10个随机数.但问题是我希望这些数字是唯一的.对于2个随机数,我可以创建如下内容:
int randomItem1 = r.nextInt(500);
int randomItem2 = r.nextInt(500);
while(randomItem1==randomItem2){
randomItem1=randomItem();
randomItem2=randomItem();
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我这样做10,我认为它会堆叠.而且我这样说是因为我正在尝试创建一个巨大的算法,它试图进行连续的评估,我想要不断地获取10个随机和唯一的数字.我不知道该怎么办.任何想法或建议?