一、hutool
官网:hutool官网
导包:
Maven 在项目的pom.xml的dependencies中加入以下内容
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.2</version>
</dependency>
Gradle
implementation 'cn.hutool:hutool-all:5.8.2'
二、代码
代码如下(示例):
package test;
import cn.hutool.core.lang.WeightRandom;
import cn.hutool.core.util.RandomUtil;
import java.util.ArrayList;
import java.util.List;
/**
* @Author xing
*/
public class test {
public static void main(String[] args) {
List<WeightRandom.WeightObj<String>> list = new ArrayList<WeightRandom.WeightObj<String>>();//创建带有权重的对象包装
//构造参数
//设置比例
list.add(new WeightRandom.WeightObj<>("A", 0));
list.add(new WeightRandom.WeightObj<>("B", 0));
list.add(new WeightRandom.WeightObj<>("C", 0));
list.add(new WeightRandom.WeightObj<>("D", 0));
list.add(new WeightRandom.WeightObj<>("E", 0));
list.add(new WeightRandom.WeightObj<>("F", 0));
list.add(new WeightRandom.WeightObj<>("G", 100));
WeightRandom wr = RandomUtil.weightRandom(list);//创建带有权重的随机生成器
//创建次数
int numA = 0;
int numB = 0;
int numC = 0;
int numD = 0;
int numE = 0;
int numF = 0;
int numG = 0;
//抽100次
for (int i = 0; i < 100; i++) {
String str = wr.next().toString();
switch (str) {
case "A":
numA = numA + 1;
break;
case "B":
numB = numB + 1;
break;
case "C":
numC = numC + 1;
break;
case "D":
numD = numD + 1;
break;
case "E":
numE = numE + 1;
break;
case "F":
numF = numF + 1;
break;
case "G":
numG = numG + 1;
break;
}
}
//记录次数
System.out.println("抽中A次数:" + numA);
System.out.println("抽中B次数:" + numB);
System.out.println("抽中C次数:" + numC);
System.out.println("抽中D次数:" + numD);
System.out.println("抽中E次数:" + numE);
System.out.println("抽中F次数:" + numF);
System.out.println("抽中G次数:" + numG);
}
}
运行结果:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家的支持。
希望能给大家带来些许灵感。
XH:因为喜欢,可迎万难。