JAVA:Random的种子含义 |
您所在的位置:网站首页 › 种子的形状以及大小有哪些变化呢 › JAVA:Random的种子含义 |
JDK中关于Random的构造函数叙述如下: public Random() 创建一个新的随机数生成器。此构造方法为随机数生成器的种子设置某个值,该值与此构造方法的所有其他调用所用的值完全不同。 public Random(long seed) 使用单个 long 种子创建一个新随机数生成器: public Random(long seed) { setSeed(seed); } next 方法使用它来保存随机数生成器的状态。 参数:seed - 初始种子。 另请参见: Random的setSeed(long) public void setSeed(long seed) 使用单个 long 种子设置此随机数生成器的种子。setSeed的常规协定是它更改此随机数生成器对象的状态,使其状态好像是刚刚使用参数 seed作为种子创建它的状态一样。Random 类按如下方式实现 setSeed 方法: synchronized public void setSeed(long seed) { this.seed = (seed ^ 0x5DEECE66DL) & ((1L > (48 -bits)); }next依赖于seed生成一个随机数,如果seed相同则生成同一随机数列。 观看如下代码: Random rand = new Random(47);Random rand2 = new Random(47); int i =rand.nextInt(100); int j =rand.nextInt(100); int i1 =rand2.nextInt(100); int j1 =rand2.nextInt(100); System.out.print(i+"."); System.out.print(j+"."); System.out.print(i1+"."); System.out.print(j1+"."); 结果:58.55.58.55. 说明得到的是同一值序列而非同一个值。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |