java.util包 | 您所在的位置:网站首页 › java里的函数在哪个包里 › java.util包 |
java.util 包——随机类 (Random) 作者: zccst
java.util 包中的内容重点讲解部分: 1. 随机类 (Random) 2. StringTokenizer 类 3. 集合和映射 (BitSet, Vector, Stack, Hashable)
随机类 (Random) —— java 产生随机数的几种方式之一 java.lang.Math 中的方法 Random() 与 java.util.Random 的比较: 1 , public static double random() 返回值范围是 [0.0, 1.0) ,且近似均匀分布。第一次调用时,将创建一个新的伪随机数生成器。 new java.util.Random 也创建一个新的伪随机数生成器。且此方法是完全同步的,可允许多个线程使用而不出现错误。
2 , java.util.Random 可以产生 int 、 long 、 float 、 double 以及 Goussian 等类型的随机数。这是它与 java.lang.Math 中的方法 Random() 最大的不同之处,后者只产生 double 型的随机数。
此外, System 类中有一个 currentTimeMillis() 方法,这个方法返回一个从 1970 年 1 月 1 号 0 点 0 分 0 秒到目前的一个毫秒数,返回类型是 long ,我们可以拿他作为一个随机数,我们可以拿他对一些数取模,就可以把他限制在一个范围之内。
java.util.Random 随机数类 1, 随机类 (Random) 的构造方法( 2 个) public Random() public Random(longseed) Java 产生随机数需要有一个基值 seed ,在第一种方法中基值缺省,则将系统时间作为 seed 。
2, 随机类 (Random) 常用方法( 6 个) public int nextInt() // 该方法是产生一个 int 型随机数。 [0-n) public long nextLong() // 该方法是产生一个 long 型随机数 . public float nextFloat() // 该方法是产生一个 Float 型随机数。 [0.0f-1.0f) public double nextDouble() // 该方法是产生一个 Double 型随机数。 [0.0d-1.0d) public void nextBytes(byte[] bytes); // 生成随机数据的字节数组,存放在 byte[]
public synonronized void setSeed(longseed) // 该方法是设定基值 seed 。 public synchronized double nextGoussian() // 该方法是产生一个 double 型的 Goussian 随机数。
例: RandomNumber.java 源码如下: import java.util.Random; public class RandomNumber{ public static void main(String[] args){ Random rand1=new Random(); byte[] b= new byte[5]; rand1.nextBytes(b); for(int i=0;i |
CopyRight 2018-2019 实验室设备网 版权所有 |