簡述
在java中想得到隨機數一般有三種方法:使用Random類、使用Math類的random方法、使用currentTimeMillis方法
隨機數區間映射的技巧
例如最終你想得到一個區間是 [max,min) 的隨機數
如果你現在只有[0,1)的隨機數,我們設為 ran,那么目標隨機數即為 ran * (max - min) + min
如果你可以控制生成[0,n)的隨機數,那么只需令 n = (max - min + 1),目標隨機數即為 ran + min
如果你得到的是一個純隨機的隨機數,那么目標隨機數為 ran % ( max - min ) + min
Random類
構造方法
Random() 創建一個新的隨機數生成器
Random(long seed) 使用指定的種子
得到隨機數
nextBoolean() 返回隨機的boolean值隨機數
nextDouble() 返回在0.0和1.0之間均勻分布的double值隨機數
nextInt(int n):返回在0和1之間均勻分布的int值隨機數
nextGaussian() 返回呈高斯(“正態”)分布的double值,其平均值是0.0標准差是1.0
Math類
Math.random() 方法返回 [0,1) 之間的浮點數,然后我們進行運算就可以得到任意區間的隨機數
currentTimeMillis
System.currentTimeMillis() 方法返回從1970年1月1日0時0分0秒(這與UNIX系統有關)到現在的一個long型的毫秒數,取模之后即可得到所需范圍內的隨機數