Random生成伪随机数

简介: Random生成伪随机数

Random类:

主要方法

返回值 方法 描述
boolean nextBoolean() 返回一个布尔型随机数
double nextDouble() 返回一个double型随机数
float nextFloat() 返回一个float型随机数
int nextInt() 返回一个int型随机数
int nextInt(int n) 返回介于[0,n)int型随机数
long nextLong() 返回一个long型随机数
void setSeed(long newseed) 将newseed指定的值设为种子

案列:

生成[100,200]区间的随机数

分析:

以nextInt(int n)方法为例,可以生成任意区间的随机数,比如生成[100,到200]内的随机数,由于区间是[0,n),故可以选n=101,再加100,即nextInt(101)+100;由于Random不是真正的随机,也叫伪随机,我们可以设置一个时间种子。

代码如下:

public static void main(String[] args) {
        // 创建一个Random对象
        Random random = new Random();
        // 把当前时间设置为种子
        random.setSeed(System.currentTimeMillis());
        // 生成100个[100,200]的随机数
        for (int i = 0; i < 100; i++) {
            int num = random.nextInt(101)+100;
            System.out.println(num);
        }
    }

扩展:

根据生成随机数,完成猜数字小游戏

代码实现

public class Test2 {
    public static void main(String[] args) {
        // 创建一个数组
        int[] a=new int[50];
        // 创建一个Random对象生成随机数
        Random random =new Random();
        // 获取数组长度
        int length = a.length;
        // 循坏给数组赋值
        for (int i = 0; i < length; i++) {
            a[i]=random.nextInt(50);
        }
        // 创建Scanner对象,键盘输入
        Scanner input = new Scanner(System.in);
        System.out.println("请输入50以内的数:");
        int num = input.nextInt();
        boolean flag = false;
        for (int i:a
             ) {
            if(num==i){
                flag=true;
                break;
            }
        }
        if (flag) {
            System.out.println("恭喜你,猜对了");
        }else{
            System.out.println("抱歉,你猜错了");
        }
    }
}


目录
相关文章
Random随机数的使用
Random随机数的使用
133 0
|
6月前
|
设计模式 算法 程序员
伪随机数为什么叫伪随机数
伪随机数为什么叫伪随机数
71 1
|
5月前
|
安全 算法 Java
使用Random.next生成随机数
使用Random.next生成随机数
|
7月前
|
存储 算法 程序员
【C/C++ 随机数】深入探索C++随机数生成,random 模块的应用
【C/C++ 随机数】深入探索C++随机数生成,random 模块的应用
372 0
|
C++
如何在C++中生成随机数
在C++中,生成随机数是一个常见的技术需求。本文将介绍如何在C++中使用标准库来生成随机数。
224 0