iT邦幫忙

3

[Java] 隨機數 - java.util.Random 之拆解假隨機

  • 分享至 

  • xImage
  •  

閱讀時間: 2分鐘

之前曾經和大家講解java.util.Random,
也相信大家看完之後也對java.util.Random有基本認識。

雖然java.util.Random也產生隨機數,不過它的隨機數是基於它的種子(seed)。
換句話說,只要你知道它的種子(seed)就可以知道它產生的隨機數是什麼。

java.util.Random的種子(seed)是根據時間而設定,
假如我想把seed用其他東西取代,可以嗎?
其實是可以的!
只要在執行產生的隨機數之前設置特定的seed就可以。
Seed可以是整數也可以是小數

例子:

import java.util.Random;

public class RandomNumberCase{
	
	public static int randomNumber(){
		
		Random rand = new Random();
		int j = rand.nextInt(100);   
		return j;
		
	}
	
	public static int randomNumberWithSpecialSeed(){
		
		Random rand = new Random();
		rand.setSeed(5);
		int j = rand.nextInt(100);   
		return j;
		
	}
	
    public static void main(String[] args) {
    	
    	System.out.println("randomNumber: " + randomNumber());
    	System.out.println("randomNumberWithSpecialSeed: " + randomNumberWithSpecialSeed());
    }

}

大家從上面例子可以看到設置了特定seed的情況下,
每次重新運行相應的method – randomNumberWithSpecialSeed,都只是產生相同的隨機數。

如果有興趣想繼續了解和學習Java的話,歡迎訂閱及留意小弟的文章。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言