JAVA學習總結之Random類
阿新 • • 發佈:2019-01-27
Random類產生偽隨機數,它的用法有點意識。
Random rand = new Random();
如果在例項化時沒有傳遞任何引數,那麼Java就會將當前時間作為隨機數生成器的種子,並由此在程式沒一次執行是都產生不同的輸出。而如果在例項化時提供種子,就可以在每次執行程式時都生成相同的隨機數,並且它的輸出是可以驗證的。
(一) 例如:Random rand = new Random();
int k = rand.nextInt()+1;
此時rand.nextInt() 或者 rand.nextInt(20) ,程式在每次執行時都會產生不同的隨機數。
(二) Random rand = new Random(47);
(47被Bruce Eckel成為魔幻數字) 此時若 int k = rand.nextInt()+1; 每次程式的執行k都會得到相同的值。
若 int k = rand.nextInt(100)+1; 返回一個偽隨機數,它是取自此隨機數生成器序列的、在 0(包括)和100(不包括)之間均勻分佈的 int
值。nextInt
的常規協定是,偽隨機地生成並返回指定範圍中的一個 int
值。所有可能的 n 個 int
值的生成概率(大致)相同。
此時每次程式執行 k 也會得到相同的值。