【无标题】

Randome类:

可以产生boolean、int、long、float、byte数组以及double类型的随机数。

注:Random类实现随机算法是伪随机的,有随机规则,随机算法的起源为种子数(seed)

三部曲:1.先导包

import java.util.*;

​ 2.创建一个对象

Random random = new Random();

​ 3.使用对象直接调用方法进行操作(获得随机数)

int number = random.nexInt(10);//10以内的随机数,取值范围为[0,10}

Random包含两个构造方法

1public Random()

这个构造方法使用一个和当前系统时间想对应的有关数字作为种子数,然后用这个种子数构建Random对象

2public Random(long seed)

这个构造方法通过制订一个种子数构建Random对象

案例:

import java.util.*;

public class test{
    public static void main(String args[]){
        //1.产生随机数,需要导入随机数包,并创建随机数对象[1,4]
        Random random = new Random();
        //2.建立一个int变量,获取随机数
        int num = random.nextInt(1,5)
        //2.根据产生的随机数,进行判断选择,为简单的分支选择,用switce
        
        switch(num){
            case 1 :
                System.out.println("吃黄焖鸡!");
            case 2 :
                System.out.println("吃螺蛳粉!");
            case 3 :
                System.out.println("吃木桶饭!");
            default:
                System.out.println("吃花甲粉!");             
        }
    }
}

(1)相同种子数Random对象问题

import java.util.*;

public class Test {
    public static void main(String[] args) {
        Random r1 = new Random(10);
        Random r2 = new Random(10);

        for (int i = 0; i < 3; i++) {
            System.out.println(r1.nextInt());
            System.out.println(r2.nextInt());
        }
    }
}

在这里插入图片描述

注解:该代码中,对象r1和r2使用的种子数都是10,那么这两个对象生成相同次数随机数是完全相同的

所以,无论项目中有多少随机数,都只生成一个Random对象,避免随机数字相同情况

(2)生成不从零开始的任意整数,即[x,y),x>0

案例:

生成3-18的随机数字

import java.util.*;

public class Test {
    public static void main(String[] args) {
       int n4 = r.nextInt(18) + 3}
}

生成任意非从0开始的整数区间[d1,d2)范围的随机数字(其中d1不等于0),则只需要首先生成[0,d2-d1)区间的随机数字,然后将生成的随机数字区间加上d1即可。


同理,随机区间小数也是这样

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值