java⽣成任意随机数整数_java⽣成任意整数随机数(任意指定
范围)
⾸先要说的是:很多⼈分不清临界值是否取得到!
第⼀种办法,Math.random()
java生成随机数的方法他的范围是0.0与1.0之间的伪随机数字,包括0不包括1(什么是伪随机?在本⽂章最下⾯有简单的介绍)。
在这⾥我举个例⼦:⽣成⼀个[1,100]之间的随机数字。
[code]number = (int)(Math.random()*100)+1
Math.random⽣成的是⼀个[0.0,1.0)之间的⼩数 先将⼩数点向后移动2位,然后强制转换成int型,只保留整数位的值,这时候值的范围是[0,99],两个边界同时扩⼤⼀个单位的值+1,范围就变成了[1,100]。
但是...
我现在改变要求我需要⼀个范围为[0,100]的随机数,⽤简单的话来说就是包括0包括100
这时候就会发现使⽤第⼀种⽅法很难凑成既包括0⼜包括100的范围
这时候我们来引⼊:
第⼆种办法
[code]//这⾥需要添加Random类
import java.util.Random;
//创建⼀个对象
Random df = new Random();
//引⽤nextInt()⽅法
int number = df.nextInt(101);
nextInt(int bound)返回伪随机的
均匀分布int值介于0(含)和 bound(不包括),参数bound 是上限。
这⾥的df.nextInt(101)的范围是[0,100] ,刚好满⾜我们的需求。
ps:
伪随机数是⽤确定性的算法计算出来⾃[0,1]均匀分布的随机数序列。并不真正的随机,但具有类似于随机数的统计特征,如均匀性、独⽴性等。在计算伪随机数时,若使⽤的初值(种⼦)不变,那么伪随机数的数序也不变。伪随机数可以⽤计算机⼤量⽣成,在模拟研究中为了提⾼模拟效率,⼀般采⽤伪随机数代替真正的随机数。模拟中使⽤的⼀般是循环周期极长并能通过随机数检验的伪随机数,以保证计算结果的随机性。
阅读更多
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论