Java中Random类详解

Random

Random类用来生成随机数字。使用起来也是三个步骤;
1:导包

import java.util.Random

2:创建

Random r = new Random();//小括号当中留空即可

3:使用
获取一个随机的int数字(范围是int所有范围,有正负两种):int num = r.nextInt()

import java.util.Random;

public class demo01Random {
    public static void main(String[] args) {
        //创建
        Random r1 = new Random();

        //产生5个随机数
        int num1;//接收产生的随机数
        for(int i = 1; i <= 5; i++){
            num1 = r1.nextInt();
            System.out.println("产生的随机数为:"+num1);
        }
    }
}

获取一个随机的int数字(参数代表了范围,左闭右开区间):int num = r.nextInt(100)//[0,100)

import java.util.Random;

public class demo01Random {
    public static void main(String[] args) {
        //创建
        Random r1 = new Random();
        int num1;//接收产生的随机数
    
        for(int i = 1; i <= 50; i++){
            num1 = r1.nextInt(10);//[0,10)
            System.out.println("产生的随机数为:"+num1);
        }
    }
}

下面为两个小的测试,可以加强你对Random类的理解:
1:根据int变量n的值,来获取随机数字,范围是[1,n],可以取到1也可以取到n.

import java.util.Random;
import java.util.Scanner;

public class demo02Random {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //定义一个变量用于接收从键盘上输入的值,随机数产生的值要在[1,n]区间上
        int n = sc.nextInt();

        Random r = new Random();
        int num;//用于接收随机数
        for(int i = 1; i <= 10; i++){
            num = r.nextInt(n)+1;//本来产生的随机数为[0,n),加一之后变为[1,n+1)---->[1,n]
            System.out.println(num);
        }
    }
}

2:用代码模拟猜数字小游戏

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

public class demo03RandomGame {
    public static void main(String[] args) {
        Random r = new Random();
        int randomNum = r.nextInt(100)+1;//定义一个随机数用于接收[1,100]区间内的一个随机数

        System.out.println("请输入数字:");
        while (true){//有循环就要有结束的标志
            Scanner sc = new Scanner(System.in);
            int guessNUm = sc.nextInt();//定义一个用于接收从键盘输入的数,也是你所菜的

            if(randomNum > guessNUm){
                System.out.println("你猜的数字太小了,请重试:");
            }else if(randomNum < guessNUm){
                System.out.println("你猜的数字太大了,请重试:");
            }else {
                System.out.println("恭喜你,猜对了");
                break;//猜对之后要跳出循环,有循环就要有结束的标志
            }
        }
        System.out.println("游戏结束!");
    }
}

猜你喜欢

转载自blog.csdn.net/qq_43751200/article/details/106773296