Java中存在着两种Random函数:
1、java.lang.Math.Random:
调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭区间,右开区间,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。例子如下:
package com.test; public class DemoRandom { public static void main(String[] args) { int n = 5; int min = 2; int max = 5; int num = (int)(Math.random()*n); //返回大于等于0且小于n之间的随机数 num = min + (int)(Math.random()*(max-min+1));//返回min到max之间的随机数,包含min和max
//随机a-z之间的字母
char ch = (char)('a'+Math.random()*('z'-'a'+1));
} }
2、java.util.Random:
除了Math类的Random()方法可以获取随机数之外,还可以Java.util.Random类,可以通过实例化一个Random对象创建一个随机数生成器。
package com.test; import java.util.Random; public class DemoRandom { public static void main(String[] args) { int n = 5; Random rand = new Random(); int num = rand.nextInt(n); //返回0-5之间的随机数,包含0,不包含5 num = rand.nextInt(); //返回随机整数(可能是正整数,也可能是负整数) // nextLong()、nextBoolean()、nextFloat()、nextDouble()同上,方法没有参数 } }