利用JAVA如何根據(jù)概率生成隨機數(shù)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)利用JAVA如何根據(jù)概率生成隨機數(shù),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

10年的灌陽網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整灌陽建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)建站從事“灌陽網(wǎng)站設(shè)計”,“灌陽網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。

具體方法如下:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;

public class RandomTest {

  // String 可以為任意類型 也可以自定義類型
  static Map<String, Integer> keyChanceMap = new HashMap<String, Integer>();
  static {
    keyChanceMap.put("aaa", 500);
    keyChanceMap.put("bbb", 1500);
    keyChanceMap.put("ccc", 2000);
    keyChanceMap.put("ddd", 3000);
    keyChanceMap.put("eee", 3000);
  }

  public static void main(String[] args) {
    Map<String, Integer> count = new HashMap<String, Integer>();
    List<String> list = new ArrayList<>();
    String item = null;
    for (int i = 0; i < 10000; i++) {
      item = chanceSelect(keyChanceMap);
      list.add(item);

      if (count.containsKey(item)) {
        count.put(item, count.get(item) + 1);
      } else {
        count.put(item, 1);
      }

    }
    for (String id : count.keySet()) {
      System.out.println(id + "\t出現(xiàn)了 " + count.get(id) + " 次");
    }

    Random rand = new Random();
    int num = rand.nextInt(10000);
    System.out.print("最終選擇的隨機數(shù)為:"+list.get(num));
  }

  public static String chanceSelect(Map<String, Integer> keyChanceMap) {
    if (keyChanceMap == null || keyChanceMap.size() == 0)
      return null;

    Integer sum = 0;
    for (Integer value : keyChanceMap.values()) {
      sum += value;
    }
    // 從1開始
    Integer rand = new Random().nextInt(sum) + 1;

    for (Map.Entry<String, Integer> entry : keyChanceMap.entrySet()) {
      rand -= entry.getValue();
      // 選中
      if (rand <= 0) {
        String item = entry.getKey();
        return item;
      }
    }
    return null;
  }
}

上述就是小編為大家分享的利用JAVA如何根據(jù)概率生成隨機數(shù)了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享題目:利用JAVA如何根據(jù)概率生成隨機數(shù)
路徑分享:http://muchs.cn/article32/pdghpc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、標(biāo)簽優(yōu)化網(wǎng)站改版、建站公司、虛擬主機、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)