两种方法:
Math.random() 返回0.0~1.0的double数
创建一个Random() Random ran=new Random();
Math.random()是令系统随机选[0.0, 1.0) 的伪随机 double 值
虽然是伪随机 但是我们就默认为是unifom生成的真实随机数。
Math.random()详细用法:
所以 如果我们想在[0, 100]中随机产生整数
(int)(Math.random()*101)
这是因为类型转换中(int)会使得double向下取整,而且Math.random()*100中 100也是取不到的。
我们想在[1, 100]中随机产生整数的话
(int)(Math.random()*100 + 1)
如果我们想在[1, 100)中随机产生数的话
Math.random()*99 + 1就可以 Java自动向精度比较高的方向转变。
如果我们想在[0, 100]中产生随机数的话
怎么办呢?
Random()对象的详细用法:
Random ran=new Random(seedValue);
Random类中还提供各种类型随机数的方法:
nextInt():返回一个随机整数(int) //在整个整数区间里面取
nextInt(int n):返回大于等于0、小于n的随机整数(int)
nextLong():返回一个随机长整型值(long)
nextBoolean():返回一个随机布尔型值(boolean)
nextFloat():返回一个随机浮点型值(float)
nextDouble():返回一个随机双精度型值(double)
nextGaussian():概率密度为高斯分布的双精度值(double)
get the integer within the range of [minX, maxX];
int x = randX.nextInt(maxX - minX + 1) + minX; //就是说nextInt里面取范围,这个范围就是我们想要的那个区间的长度,然后对这个区间进行平移,使得起点对齐即可。