Random类
在Java中有两种方法可以产生随机数,一种是math类的random()方法,另一种是Random类。这两者区别math类的random方法只能产生double类型的0-1的随机数。而Random类可以产生基本数据类型,布尔值,byte数组的随机数。
构造方法:
- new Random();使用当前系统时间作为种子数来实现Random对象。
- new Random(long send);使用long型参数构建一个随机数。
Random类中方法所生成的随机数字都均匀分布,也就是在区间类的所有数字概率相等。常用随机方法产生见图。
方法名 | 说明 |
---|---|
int next() | 生成下一个随机数 |
boolean nextBoolean() | 生成一个随机的布尔值,true与false值的概率相等 |
double nextDouble() | 生成一个0-1.0之间的double值,包含0但不包含1.0 |
int nextInt() | 生成一个介于int区间内的随机数 |
long nextLong() | 生成一个长整形数字 |
float nextFloat() | 生成一个浮点随机数 |
void setSeed(long seed) | 重新设置自己种子数 |
import java.util.Random;
public class dome2{
public static void main(String[] args) {
Random r=new Random();
System.out.println(r.nextInt());
System.out.println(r.nextBoolean());
System.out.println(r.nextDouble());
System.out.println(r.nextFloat());
System.out.println(r.nextLong());
}
}
结果
284784561
true
0.4866395981709988
0.13989758
-3497758434056981464
例子: 给定一个长度10的数组,随机流随机输入2位数的数,并利用Arrays类输出。
import java.util.Arrays;
import java.util.Random;
public class dome2{
public static void main(String[] args) {
Random r=new Random();
int[] a=new int[10];
for(int i=0;i<10;i++) {
a[i]=(int)(r.nextFloat()*100);
}
System.out.println(Arrays.toString(a));
}
}