之前曾經和大家講解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的話,歡迎訂閱及留意小弟的文章。