Java Random类简介说明

java-教程王 Java教程 发布时间:2021-11-19 09:23:53 阅读数:5066 1
下文笔者讲述Java中Random类的简介说明,如下所示:
Random类中实现的随机算法是伪随机
也就是有规则的随机
在进行随机时,随机算法的起源数字称为种子数(seed)
在种子数的基础上进行一定的变换
从而产生需要的随机数字
 相同种子数的Random对象
相同次数生成的随机数字是完全相同的
也就是说,两个种子数相同的Random对象
 第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同
 ---------------------------------------------------------------
 Random类生成的随机数是等概率相同

Random类简介

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

public Random(long seed)
 使用一个种子数进行创建

Random中的方法简介

boolean nextBoolean() //返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的boolean值
void nextBytes(byte[] bytes) //生成随机字节并将其置于用户提供的 byte 数组中
double nextDouble() //返回下一个伪随机数,它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布的 double值
float nextFloat() //返回下一个伪随机数,它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布float值
double nextGaussian() //返回下一个伪随机数,它是取自此随机数生成器序列的、呈高斯(“正态”)分布的double值,其平均值是0.0标准差是1.0
int nextInt() //返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值
int nextInt(int n) //返回一个伪随机数,它是取自此随机数生成器序列的、在(包括和指定值(不包括)之间均匀分布的int值
long nextLong() //返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值
void setSeed(long seed) //使用单个 long 种子设置此随机数生成器的种子
例:
package com.java265.other;
import java.util.Random;
public class TestClass {  
    public static void main(String[] args) throws Exception  
    {  
        Random r1 = new Random(88);
		Random r2 = new Random(88);
		System.out.println(r1.nextFloat() + ";" + r2.nextFloat());
		System.out.println(r1.nextInt() + ";" + r2.nextInt());
		System.out.println(r1.nextLong() + ";" + r2.nextLong());
		System.out.println(r1.nextBoolean() + ";" + r2.nextBoolean());
    }  
}
-----运行以上代码,将输出以下信息------
0.7259512;0.7259512
-441328586;-441328586
-4887970065590821111;-4887970065590821111
true;true
从以上代码中,我们可以看出,
当Random对象的种子相同
方法的调用顺序也相同
则它们会产生同样的数字序列
-----------------------------------------------------
Random产生的不是真正的随机数,而是伪随机数
为了避免两个Random对象产生同样的数字序列
我们常使用以下方法生成随机数
Random r=new Random(System.currentTimeMillis());
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: http://www.Java265.com/JavaCourse/202111/1756.html

最近发表

热门文章

好文推荐

Java265.com

//www.java265.com

站长统计|USA-001

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者