91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用JAVA如何根據概率生成隨機數

發布時間:2020-11-30 16:55:41 來源:億速云 閱讀:477 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關利用JAVA如何根據概率生成隨機數,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

具體方法如下:

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出現了 " + count.get(id) + " 次");
    }

    Random rand = new Random();
    int num = rand.nextInt(10000);
    System.out.print("最終選擇的隨機數為:"+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如何根據概率生成隨機數了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

达拉特旗| 仪征市| 元氏县| 五家渠市| 屏东县| 阳山县| 济阳县| 门头沟区| 定安县| 横峰县| 日喀则市| 龙南县| 北海市| 新乐市| 石台县| 康定县| 中宁县| 航空| 沧源| 涞源县| 台北市| 阿克| 平塘县| 会泽县| 贵定县| 茂名市| 大田县| 太原市| 长寿区| 佛山市| 成安县| 自贡市| 斗六市| 鹤壁市| 藁城市| 阳江市| 依安县| 仁化县| 旬阳县| 芜湖市| 北海市|