在JDK的java.util包中有一个Random类,他可以在指定的取值范围内随机产生数字。在Random类中有两种构造方法
使用方式:
import导包:所属包java.util.Random
创建实例格式:Random 变量名 = new Random();
1、random.nextInt()
不带参数的nextInt()会生成所有有效的整数(包含正数,负数,0)
带参的nextInt(int x)则会生成一个范围在0~x(不包含X)内的任意正整数,
例如:int x=new Random.nextInt(100); 则x为一个0~99的任意整数
int x=new Random.nextInt(100)+1 则x为一个1~100的任意整数
带参的nextInt(max)%(max-min+1)+min 则会生成一个指定范围内的整数
Random ran = new Random();// 随机数类
Set<Integer> set = new HashSet<Integer>();
// set.size()==10用来确定获取的数据共有多少个
while(set.size()==10?false:true){
int num = ran.nextInt(100);
set.add(num);
}
Iterator<Integer> it = set.iterator();
int count = 0;
while(it.hasNext()){
count++;
System.out.println("第"+count +"个随机数:"+it.next());
}
2、random.nextBytes()
用于生成随机 byte 值,再将其放入指定数组长度的byte 数组中
Random random = new Random();
byte[] data = new byte[5];
random.nextBytes(data);
System.out.println(Arrays.toString(data)); // [-73, 18, -110, -79, 56]
3、random.nextDouble() [ nextFloat() 同理】
用于从该随机数生成器的序列中得到下一个伪均匀分布在 0.0 到 1.0 之间的 double 值,[0.0, 1.0)
Random random = new Random();
System.out.println(random.nextDouble()); // 0.15068131311276745