java基礎 隨機數

2021-09-01 19:14:41 字數 793 閱讀 2211

我們首先來看一下維基百科的定義

偽隨機性(pseudorandomness)是指乙個過程似乎是隨機的,但實際上並不是。例如偽隨機數(或稱偽亂數),是使用乙個確定性的演算法計算出來的似乎是隨機的數序,因此偽隨機數實際上並不隨機。在計算偽隨機數時假如使用的開始值不變的話,那麼偽隨機數的數序也不變。偽隨機數的隨機性可以用它的統計特性來衡量,其主要特徵是每個數出現的可能性和它出現時與數序中其它數的關係。偽隨機數的優點是它的計算比較簡單,而且只使用少數數值很難推算出計算它的演算法。一般人們使用乙個假的隨機數,比如電腦上的時間作為計算偽隨機數的開始值。正如我們再api中看到的,我們實行的只是模擬的偽隨機數。真正的隨機數還得物理裝置產生,比如自然的雜訊 蜂鳴 。

隨機數種子的作用

1.設定了種子,我們每次執行的結果都一樣

random r = new random(100);

system.out.println(r.nextint(10));

system.out.println(r.nextint(10));

system.out.println(r.nextint(10));

system.out.println(r.nextint(10));

system.out.println(r.nextint(10));

system.out.println(r.nextint(10));

2.沒有設定種子,我們每次執行的結果都不一樣

為什麼,觀察源**得知,其實建構函式中,預設種子是當前的時間

public random()

你可以認為種子就是乙個隨機數發生器的初始值。

Java基礎 生成隨機數

math.random 方法會產生0到1之間的浮點數。可以使用以下方法產生0到n的正整數 int random int math.random n 如何利用math.random 方法產生隨機乙個小寫字元呢?也就是產生97到122的隨機數,然後int轉char ascii碼 char random ...

JAVA生成隨機數

生成6位字母加數字的隨機數字,隨機數格式為 字母,數字,字母,數字,字母,數字 string a c,n for int i 0 i 3 i system.out.println a 生成類似qq號碼的隨機id號碼 隨機4位數 int array random rand new random for...

java產生隨機數

1.產生n位只含數字和字母的隨機數 隨機生成字串,包含數字和字母 public static string getstringrandom int length elseif num equalsignorecase charornum return val 2.產生指定範圍內所有不重複的隨機數 思...