日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA 随机数学习

發布時間:2024/8/1 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA 随机数学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、概念整理

1.1、隨機性:

隨機性:意味著無法預測,真正的隨機性只存在于自然世界中;如:什么地方有閃電是隨機的,有個地方正在醞釀風暴,可以相當確定那里會有閃電,但無法精確預測具體位置,所以不要站在樹下。

1.2、真隨機:

真隨機:也有不同的含義,若想要「真正的真隨機」目測只能靠量子力學了,一般的所謂真隨機當然不是指這種,而是指統計意義上的隨機,也就是具備不確定性,可以被安全的用于金融等領域。

1.3、偽隨機:

偽隨機:大部分程序和語言中的隨機數,確實都只是偽隨機。是由可確定的函數(常用線性同余),通過一個種子(常用時鐘)產生的。這意味著:如果知道了種子,或者已經產生的隨機數,都可能獲得接下來隨機數序列的信息(可預測性)

1.4、隨機種子:

隨機種子:隨機數就是就隨機數種子中取出的數。種子就是個序號,這個序號交給一個數列管理器,通過這個序號,你從管理器中取出一個數列,這個數列就是你通過那個序號得到的隨機數。

二、JAVA生成隨機數的方案

2.1、java.lang.Math 類:Math類以靜態方法的方式提供常用的數學方法。

public static void main(String[] args) {//Math.random() 方法是一個可以產生[0.0,1.0]區間內的一個雙精度浮點數的方法。System.out.println("產生[0.0,1.0]區間內的一個雙精度浮點數:" + Math.random());System.out.println("產生一個100以內的整數:" + (int) (Math.random() * 100));System.out.println("產生一個1-50 之間的隨機蒸數:" + (1 + (int) (Math.random() * 50)));}

執行結果:

產生[0.0,1.0]區間內的一個雙精度浮點數:0.7383840156189087 產生一個100以內的整數:43 產生一個1-50 之間的隨機蒸數:2

2.2、java.util.Random 類:隨機數生成器

public static void main(String[] args) {Random random = new Random();//random.nextInt(X) ==> 產生一個0到x-1的正數System.out.println("產生[0.0,1.0]區間內的一個雙精度浮點數:" + random.nextDouble());System.out.println("產生一個100以內的整數:" + random.nextInt(101));System.out.println("產生一個1-50 之間的隨機蒸數:" + (1 + random.nextInt(50)));}

執行結果:

產生[0.0,1.0]區間內的一個雙精度浮點數:0.6842949962898257 產生一個100以內的整數:41 產生一個1-50 之間的隨機蒸數:5

2.3、Math.random() 和 new Random() 對比

2.3.1、經過2.1和2.2中代碼實例,我們可以看出:?Math 和?Random 都可以實現我們一般隨機數的功能;

2.3.2、經過底層代碼閱讀,我們會發現Math.random()其實是對 java.util.Random 類的 nextDouble 方法的封裝;

2.3.3、在1.3 和 1.4中提出過隨機種子的概念,那么我們來看?Random 類;發現構造方法分兩中:Random() 和 Random(long seed)

2.3.3.1、Random():無參構造方法;種子有特定公式計算,所以每次執行的種子都會不一致;

2.3.3.2、Random(long seed);有參構造方法;種子是根據 seed 入參計算生成的

注:以上內容僅提供參考和交流,請勿用于商業用途,如有侵權聯系本人刪除!

總結

以上是生活随笔為你收集整理的JAVA 随机数学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。