java生成任意整数随机数(任意指定范围) |
您所在的位置:网站首页 › java怎么弄随机数 › java生成任意整数随机数(任意指定范围) |
首先要说的是:很多人分不清临界值是否取得到! 第一种办法,Math.random() 他的范围是0.0与1.0之间的伪随机数字,包括0不包括1(什么是伪随机?在本文章最下面有简单的介绍)。 在这里我举个例子:生成一个[1,100]之间的随机数字。 number = (int)(Math.random()*100)+1Math.random生成的是一个[0.0,1.0)之间的小数0.xxxxxx... 先将小数点向后移动2位,然后强制转换成int型,只保留整数位的值,这时候值的范围是[0,99],两个边界同时扩大一个单位的值+1,范围就变成了[1,100]。 但是... 我现在改变要求我需要一个范围为[0,100]的随机数,用简单的话来说就是包括0包括100 这时候就会发现使用第一种方法很难凑成既包括0又包括100的范围 这时候我们来引入: 第二种办法 //这里需要添加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]均匀分布的随机数序列。并不真正的随机,但具有类似于随机数的统计特征,如均匀性、独立性等。在计算伪随机数时,若使用的初值(种子)不变,那么伪随机数的数序也不变。伪随机数可以用计算机大量生成,在模拟研究中为了提高模拟效率,一般采用伪随机数代替真正的随机数。模拟中使用的一般是循环周期极长并能通过随机数检验的伪随机数,以保证计算结果的随机性。 参考地址:https://baike.baidu.com/item/伪随机数/104358?fr=aladdin
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |