Java Random类的使用

来源:互联网 发布:阿里云备案服务 编辑:程序博客网 时间:2024/04/29 13:20

1.简单使用:

Random random=new Random();int a=random.nextInt();System.out.println(a);
-325078223Process finished with exit code 0

产生int类型范围内 -2147483648~2147483647 的随机整数。

Random random=new Random();int a=random.nextInt(10);System.out.println(a);

产生0~9的随机整数。

2.产生任意范围的随机整数

Random random=new Random();int a=random.nextInt(6)+5;System.out.println(a);

产生任意范围的随机整数,此处为5~10.

3.产生任意范围的随机小数

Random random=new Random();double a=random.nextDouble();System.out.println(a);
0.11665258082938701Process finished with exit code 0

产生(0,1)范围的随机小数.

Random random=new Random();double a=random.nextDouble()*1.5+1;System.out.println(a);
2.445836482596139Process finished with exit code 0

产生任意范围的随机小数,此处为1~2.5,精确度为double默认的精确度.

 Random random=new Random(); double a=random.nextDouble()*1.5+1; BigDecimal bg = new BigDecimal(a); double b = bg.setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue(); System.out.println(b);
1.9Process finished with exit code 0

产生任意范围的随机小数,此处为1~2.5.精确度为小数点后一位。
关于double精确度的内容请参考 java double的精确度控制 还没写。。。不要点

4.seed 种子的使用

Random random1 = new Random(100);System.out.println(random1.nextInt());System.out.println(random1.nextFloat());System.out.println(random1.nextBoolean());Random random2 = new Random(100);System.out.println(random2.nextInt());System.out.println(random2.nextFloat());System.out.println(random2.nextBoolean());
-11939594660.7346627false-11939594660.7346627falseProcess finished with exit code 0

相同种子输出的结果相同.

Random random1 = new Random(System.currentTimeMillis());System.out.println(random1.nextInt());System.out.println(random1.nextFloat());System.out.println(random1.nextBoolean());System.out.println();Random random2 = new Random(System.currentTimeMillis());System.out.println(random2.nextInt());System.out.println(random2.nextFloat());System.out.println(random2.nextBoolean());
-16745658190.2528978false-16649470960.5270924trueProcess finished with exit code 0

不同种子输出的结果不同.

0 0
原创粉丝点击