生成随机数Random


一、Random

该类的实例用于生成一个伪随机数流

二、使用步骤

1.引入库

代码如下(示例):

import java.util.Random;

2.创建对象

代码如下(示例):

        //创建对象
        Random r = new Random();
        //包前不包后,生成0-9之间的随机数
        //nextInt(n)功能只能生成0至n-1之间的随机数
        int num = r.nextInt(10);

3.测试代码

        //测试
        for(int i = 1 ; i <=4 ; i++) {
            int num = r.nextInt(10);
            System.out.println("随机数为:" + num);
        }

4.运行结果

随机数为:8
随机数为:5
随机数为:1
随机数为:2

三、Random生成指定区间随机数

案例:生成2-10之间的随机数

方法

(2-10),先-2,然后再(0-8)+2
代码如下:

Random r = new Random();
int num = r.nextInt(9)+2;

测试代码

//导包
import java.util.Random;
public class Demo {
    public static void main(String[] args) {
        //创建对象
        Random r = new Random();
        //测试
        for(int i = 1 ; i <=10 ; i++) {
            int num = r.nextInt(9) + 2;
            System.out.println("随机数为:" + num);
        }
    }
}

扩展:使用官方给的方法(jdk1.8之后能用)

//导包
import java.util.Random;
import java.util.Scanner;
public class Demo {
    public static void main(String[] args) {
        //创建对象
        Random r = new Random();
        //生成一个11-15之间的随机数
        for(int i = 1 ; i <= 5 ; i++) {
            //左闭右开
            int a = r.nextInt(11, 16);
            System.out.println(a);
        }
    }
}

测试结果

随机数为:9
随机数为:5
随机数为:5
随机数为:8
随机数为:5
随机数为:6
随机数为:7
随机数为:8
随机数为:3
随机数为:7

四、猜数字游戏

案例

随机生成一个1-100之间的数据,提示用户猜测,猜大提示过大,猜小提示过小,直到猜中结束游戏

分析

1、先随机生成一个1-100之间的数据
2、定义一个死循环让用户可以一直猜测
3、在死循环里,每次都提示用户输入一个猜测的数字,猜大提示过大,猜小提示过小,猜中则结束游戏

代码

//导包
import java.util.Random;
import java.util.Scanner;
public class Demo {
    public static void main(String[] args) {
        //创建对象
        Random r = new Random();
        Scanner sc = new Scanner(System.in);

        //生成一个1-100之间的数据
        int num = r.nextInt(100) + 1;
        System.out.println("猜数字游戏");
        int a;
        
        while(true){
            System.out.println("输入数值");
            a = sc.nextInt();

            //判断数字情况
            if(a > num){
                System.out.println("过大");
            }else if (a < num){
                System.out.println("过小");
            }else {
                System.out.println("结束游戏");
                //结束
                break;
            }
        }
    }
}

运行结果

猜数字游戏
输入数值
50
过大
输入数值
25
过大
输入数值
10
过小
输入数值
14
过大
输入数值
13
结束游戏

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值