//中奖概率集合
List<Integer> integerList = Arrays.asList(2, 5, 5, 7, 80);
//求和
Integer sum = integerList.stream().reduce(0, Integer::sum);
ArrayList<Double> doubleArrayList = new ArrayList<>();
Integer index = -1;
if (sum != 0) {
Double rate = 0D;
for (Integer prob : integerList) {
rate += prob;
doubleArrayList.add(rate / sum);
}
//随机数
Double random = Math.random();
doubleArrayList.add(random);
Collections.sort(doubleArrayList);
index = doubleArrayList.indexOf(random);
}
System.out.println(index);
Java简易转盘,取list的下标
最新推荐文章于 2023-09-19 17:56:06 发布