什么是Random?

 1.是java中API的java.util包中的一个产生随机数的类;

2.Random类中的随机算法是伪随机的,也就是说他的随机数也是有一定的规则的。

 Random的应用场景

 Random的大部分应用场景是用在网站的各种验证码。

 Random的构造方法

1.Random random =new Random()

        创建一个新的随机数生成器。

2.Random random =new Random(long seed)

        使用单个 long种子创建一个新的随机数生成器。每次生成的随机数相同。

public static void main(String[] args) { Random random =new Random(3); for (int i = 0; i < 10; i++) { int num = random.nextInt(20); System.out.print(num+","); } System.out.println("\n"); Random random1 =new Random(3); for (int i = 0; i < 10; i++) { int num = random1.nextInt(20); System.out.print(num+","); } }

上面是使用Random random =new Random(long seed)来创建的随机数。根据代码来看也是通俗易懂的。也就是说使用带参数的构造方法来创建参数可以生成相同的随机数。


Random的常用方法

1.nextInt():生成一个随机的整数

2.nextInt(int n):生成一个小于n但是大于等于0的整数。

3.nextLong():生成一个随机的长整数

4.nextFloat():生成一个随机的单精度数

5.nextDouble():获取一个随机的双精度数。

6.nextBoolean():获取一个随机的布尔值。

使用Random创建验证码的例子

需求:在0123456789abcdefghijklmnopqrstuvwsyz中产生4位的随机数。

public static void main(String[] args) {
        //声明随机数的范围
       String verC ="0123456789abcdefghijklmnopqrstuvwsyz";
       //使用StringBuilder来进行追加数据
        StringBuilder stringBuilder = new StringBuilder(4);
        //实例化Random
        Random random = new Random();
        //将字符串转为数组,为for循环中根据索引寻找数值做备用
        char[] chars = verC.toCharArray();
        for (int i = 0; i < 4; i++) {
            //获取到[0-36)之间的一个整数数值.
            int i1 = random.nextInt(36);
            //使用数值在数组中进行查询相应的数据并追加带StringBuilder中。
            stringBuilder.append(chars[i1]);
        }
        System.out.println("生成的4位随机数位:"+stringBuilder);

    }