随机数的产生

总结了一下java.util.Random类的使用。


import java.util.Random;

class TestRandom {

public static void main(String[] args) {

Random random1 = new Random(100);
System.out.println(random1.nextInt());
System.out.println(random1.nextInt());
System.out.println(random1.nextFloat());
System.out.println(random1.nextFloat());
System.out.println(random1.nextBoolean());
System.out.println(random1.nextBoolean());

Random random2 = new Random(100);

System.out.println(random2.nextInt());
System.out.println(random2.nextInt());
System.out.println(random2.nextFloat());
System.out.println(random2.nextFloat());
System.out.println(random2.nextBoolean());
System.out.println(random2.nextBoolean());

}
}

输出结果如下:


-1193959466
-1139614796
0.19497603
0.7158033
true
false
-1193959466
-1139614796
0.19497603
0.7158033
true
false

注释:
1:如果2个Random对象使用相同的种子(比如都是100),并且以相同的顺序调用相同的函数,那么它们的返回值完全相同。

2:如果希望将返回的随机数控制在某个范围内(比如0~99),则可以使用模数运算符%


import java.util.Random;

class TestRandom {
public static void main(String[] args) {
Random random = new Random();
for (int i = 0; i < 100; i++) { System.out.println(Math.abs(random.nextInt()) % 100); } } }

注释: 
1:将模数运算符%作用于随机数产生器所产生的随机数身上,目的是为了让随机数的最大值局限于我们所制定的操作数数值减1范围内。

2:如上面代码就将输入控制在0~99的范围内,注意:如果不加Math.abs(),输出范围将是-99~99。

此条目发表在java/j2ee分类目录,贴了, 标签。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据