java按照概率⽣成随机数_JAVA根据设置的概率⽣成随机数的
⽅法
本⽂介绍了java 根据设置的概率⽣成随机数的⽅法,分享给⼤家
import java.util.arraylist;
import java.util.hashmap;
import java.util.list;
import java.util.map;
import java.util.random;
public class randomtest {
java生成随机数的方法// string 可以为任意类型 也可以⾃定义类型
static map keychancemap = new hashmap();
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 count = new hashmap();
list list = new arraylist<>();
string item = null;
for (int i = 0; i < 10000; i++) {
item = chanceselect(keychancemap);
list.add(item);
if (ainskey(item)) {
count.put(item, (item) + 1);
} else {
count.put(item, 1);
}
}
for (string id : count.keyset()) {
system.out.println(id + "\t出现了 " + (id) + " 次");
}
random rand = new random();
int num = int(10000);
system.out.print("最终选择的随机数为:"+(num));
}
public static string chanceselect(map 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 ( entry : set()) {
rand -= value();
// 选中
if (rand <= 0) {
string item = key();
return item;
}
}
return null;
}
}
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持萬仟⽹。如您对本⽂有疑问或者有任何想说的,请点击进⾏留⾔回复,万千⽹友为您解惑!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论