0
点赞
收藏
分享

微信扫一扫

第三次学JAVA再学不好就吃翔(part68)--Random类

学习笔记,仅供参考,有错必纠


Random类



Random类是在java.util包下的一个类,我们使用这个类时需要导包。此类用于生成伪随机数。如果用相同的种子创建两个 ​​Random​​ 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。



构造方法



Random() 
//创建一个新的随机数生成器。
Random(long seed)
//使用单个 long 种子创建一个新的随机数生成器。



方法



nextInt

public int nextInt()

返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。nextInt 的常规协定是,伪随机地生成并返回一个 int 值。所有 第三次学JAVA再学不好就吃翔(part68)--Random类_java个可能 int 值的生成概率(大致)相同。



public int nextInt(int n)

返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。nextInt 的常规协定是,伪随机地生成并返回指定范围中的一个 int 值。所有可能的 n 个 int 值的生成概率(大致)相同。



举个例子



  • 例子1
package com.guiyang.restudy3;

import java.util.Random;

public class D2Random {

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

for(int i = 0; i < 10; i++) {
System.out.println(r.nextInt(100));
}
}

}

输出:

19
67
35
79
31
92
83
76
70
66



  • 例子2
package com.guiyang.restudy3;

import java.util.Random;

public class D2Random {

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

for(int i = 0; i < 5; i++) {
System.out.println(r.nextInt());
}
}

}

输出:

-1193959466
-1139614796
837415749
-1220615319
-1429538713

我们利用有参构造创建一个Random对象,当我们再运行一次时,只要不改变种子100,得到的伪随机数的值依然还是和上面5个数的值相同,不会有任何改变,这是因为python会通过这些种子计算伪随机数,;而空参构造创建的Random对象,则是通过纳秒值生成伪随机数的,即把当前时刻的纳秒值当成种子计算伪随机数。

举报

相关推荐

0 条评论