更新时间:2021-12-13 来源:黑马程序员 浏览量:
在JDK的java.util包中,有一个Random类,它可以在指定的取值范围内随机产生数字。在Random类中提供了两个构造方法,如表5-5所示。
表Random的构造方法
表5-5中列举了Random类的两个构造方法,其中第一个构造方法是无参的,通过它创建的Random实例对象每次使用的种子是随机的,因此每个对象所产生的随机数不同。如果希望创建的多个Random实例对象产生相同序列的随机数,则可以在创建对象时调用第二个构造方法,传入相同的种子即可。
相对于Math的random()方法而言,Random类提供了更多的方法来生成各种伪随机数。它不仅可以生成整数类型的随机数,还可以生成浮点类型的随机数,Random类中的常用方法,如表5-6所示。
表5-6Random类的常用方法
表5-6中,列出了Random类常用的方法,其中,Random类的nextDouble()方法返回的是0.0和1.0之间double类型的值,nextFloat()方法返回的是0.0和1.0之间float类型的值,nextInt(int n)返回的是0(包括)和指定值n(不包括)之间的值。接下来通过一个案例来学习这些方法的使用,如例5-16所示。
例5-16 Example16.java
import java.util.Random; public class Examplel6 { public static void main(String[] args) { Random r =new Random(); System.out.println("生成boolean类型的随机数:" +r.nextBoolean()); System.out.println("生成double类型的随机数:" +r.nextDouble()); System.out.println("生成float类型的随机数:" +r.nextFloat()); System.out.println("生成int类型的随机数:" +r.nextInt()); System.out.println("生成0到10之间int类型的随机数:" +r.nextInt(10)); System.out.println(”生成long类型的随机数:" +r.nextLong()); } }
运行结果如图5-16所示。
从图5-16可以看出,通过调用Random类不同的方法分别产生了不同类型的随机数。