Random概述和基本使用(随机数)&&生成指定范围&&练习

Random概述和基本使用(随机数)&&生成指定范围&&练习

小菜鸡
2021-09-10 / 0 评论 / 17 阅读 / 正在检测是否收录...

概述和基本使用

import java.util.Random;

/*Random类用来生成随机数字。使用起来也是三个步骤;
1.导包
import java.util.Random;
2.创建
Random r = new Rondom();
3.使用
获取一个随机的int数字(范围是int所有范围,有正负两种):int num=r.nextInt();*/
public class Demo01Random {
    public static void main(String[] args) {
        Random r = new Random();

        int num = r.nextInt();
        System.out.println("产生一个随机数:" + num);
    }
}

Random生成指定范围的随机数

随机数Ran’do’m类的另外一种使用方法
获取一个随机的int数字,(参数代表了范围,左闭右开区间)
:int num = r.nextInt(10)
则实际上代表的范围是[0,10) 也就是0~9
假如现在有个数字n 我想要生成1~n之间的数字,该怎么办?
只需要在r.nextInt(n) + 1即可

代码附上:

package 类和对象;
import java.util.Random;

public class Demo05 {
    public static void main(String[] args) {
        Random r = new Random();

        for (int i = 0; i < 10; i++) {
         int num = r.nextInt(10) + 1; // .nextInt的时候选择代参数的
         System.out.println(num);   //打印10个范围为1-10的数

        }
    }
}

练习一

题目:根据int变量 n的值,来获取随机数字,范围是[1,n]
思路:
1.定义一个int 变量n,随意赋值
2.要使用Random三个步骤:导包、 创建、使用
3.如果写10,那么就是0-9,然而想要的是1-10可以发现整体+1即可。
4.打印随机数字

package com.Test;

import java.util.Random;

public class Random1 {
    public static void main(String[] args) {
        int n = 5;
        Random r = new Random();
        for (int i = 0; i < 100; i++) {
//本来范围是[0,n),整体+1之后变成了[1,n+1),有人就是[1,n)
            int result = r.nextInt(n) + 1;
            System.out.println(result);
        }
    }

}

练习二

题目:
用代码模拟猜数字的小游戏 生成个随机数猜数字
思路:
1.首先需要产生一个随机数字,并且一旦产生不再变化。用Random的nextInt方法
2.需要键盘输入,所以用到Scanner
3.获取键盘输入的数字,用Scanner当中的nextInt方法
4.已经得到了两个数字,判断(if)一下:
如果太大了,提示太大,并且重试
如果猜中了,游戏结束
如果太小了,提示太小,并且重试
5.重试就是再来一次,循环次数不确定,用while(true)。

public class Demo08Random {
    public static void main(String[] args) {
        Random r = new Random();
        int randomNum = r.nextInt(100)+1;//1-100
        Scanner sc = new Scanner(System.in);
        while(true){
            System.out.println("请输入你猜测的数字:");
            int guessNum = sc.nextInt();//键盘输入猜测的数字
            if(guessNum>randomNum){
                System.out.println("太大了请重试");
            }
            else if(guessNum<randomNum){
                System.out.println("太小了请重试");
            }
            else{
                System.out.println("恭喜你猜中了");
                break;//如果猜中不再重试
            }
        }
        System.out.println("游戏结束。");
 
    }
}
0

评论 (0)

取消