栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

来自枚举的随机值和概率

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

来自枚举的随机值和概率

几种方法,其中一种,类似于您的方法

private enum Type{    TYPE_A(10 ), TYPE_B(1), TYPE_C(5), TYPE_D(20), TYPE_E(7);private int weight;private Type(int weight) {    this.weight = weight;}private int getWeight() {    return weight;}    private static final List<Type> VALUES =        Collections.unmodifiableList(Arrays.asList(values()));    private int summWeigts() {       int summ = 0;       foreach(Type value: VALUES)summ += value.getWeight();       return summ;    }    private static final int SIZE = summWeigts();    private static final Random RANDOM = new Random();    public static Type randomType()  {        int randomNum = RANDOM.nextInt(SIZE);        int currentWeightSumm = 0;        for(Type currentValue: VALUES) {if (randomNum > currentWeightSumm &&     randomNum <= (currentWeightSumm + currentValue.getWeight()) {  break;}currentWeightSumm += currentValue.getWeight();        }        return currentValue.get();    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/498494.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号