![](/img/trans.png)
[英]How to generate a certain amount of random numbers within a range in Java?
[英]I want to generate random numbers within given range in java
为此,我得到了解决方案,但我不明白:我使用了below函数来生成给定范围内的随机数,但是below函数的含义是什么?
static int randomRangeInNumber(int min, int max) {
Random r=new Random();
return r.nextInt((max-min)+1)+min;
}
我没有得到的退货请帮助我理解其含义,将不胜感激
返回一个伪随机数,它从此随机数生成器的序列中提取,在0(含)和指定值(不含)之间均匀分布的int值。
所以你的nextInt
电话是
(max-min)+1
),然后 +min
将其缩放到[min..max]范围。 return r.nextInt((max-min)+1)+min;
\__________1_________/\_2_/
nextInt通常不包含最高值,因此加1使其包含在内
因此,在您的情况下,我们说max
为10, min
为5。
nextInt(n)
将为您提供0到n-1之间的随机数。
因此,加上+1
将使您包括n
的值。
nextInt(max-min)
为您提供一个在0和nextInt(max-min)
之间的随机数(在这种情况下,由于+1而包括了5)
然后再次加上min
,表示它将为您提供上述随机数,但将其加5,因此结果将是5到10之间的随机数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.