java 随机数种子 java设置随机数种子教程 java随机数种子怎么设置
我們常用的隨機數生成就是Math.random();
java.util.Random類有兩種方式構建方式:帶種子和不帶種子
import java.util.Random;
不帶種子:
不帶種子將會返回隨機的數字,每次運行結果不一樣
public class RandomTest {
public static void main(String[] args) {
Random r=new Random();
for(int i=0;i<10;i++){
System.out.println(r.nextInt());
}
}
帶種子:
無論程序運行多少次,返回結果都是一樣的
public static void main(String[] args) {
Random seeda = new Random(1);
Random seedb = new Random(1);
for (int i = 0; i < 10; i++) {
System.out.println(seeda.nextInt() + "=" + seedb.nextInt());
}
}
參考文獻 :Donald Knuth 的《The Art of Computer Programming, Volume 2》 3.2.1 節
如果用相同的種子創建兩個 Random 實例,則對每個實例進行相同的方法調用序列,它們將生成并返回相同的數字序列。為了保證實現這種特性,我們為類Random指定了特定的算法。為了 Java 代碼的完全可移植性,Java 實現必須讓類 Random 使用此處所示的所有算法。但是允許 Random 類的子類使用其他算法,只要其符合所有方法的常規協定即可。
如果沒有提供種子數,Random實例的種子數將是當前時間的毫秒數,可以通過System.currentTimeMillis()來獲得當前時間的毫秒數。打開JDK的源代碼,我們可以非常明確地看到這一點。
總結
以上是生活随笔為你收集整理的java 随机数种子 java设置随机数种子教程 java随机数种子怎么设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: P1571 眼红的Medusa
- 下一篇: 做设计常用的素材下载网站