java随机事件分发器示例
程序员文章站
2024-02-24 18:50:58
以下需求:20%的概率去执行方法a,1%的概率去执行方法b,29%的概率去执行方法c,50%的概率去执行方法d
如果用if随机数之类的语句去判断的话,可能会写的很乱,我写...
以下需求:
20%的概率去执行方法a,
1%的概率去执行方法b,
29%的概率去执行方法c,
50%的概率去执行方法d
如果用if随机数之类的语句去判断的话,可能会写的很乱,我写了一个随机分发器,可以规范该操作。使用该分发器后的代码如下:
复制代码 代码如下:
//创建一个分发器
randomdispatcher randomdispatcher = new randomdispatcher();
//设置每种事件的概率,注意,概率之和不一定是100哦
randomdispatcher.put(20, 1);
randomdispatcher.put(1, 2);
randomdispatcher.put(29, 3);
randomdispatcher.put(50, 4);
//随机
int retindex = randomdispatcher.random();
//根据随机结果去执行不同的方法
switch (retindex) {
case 1:
system.out.println("do method a");
break;
case 2:
system.out.println("do method b");
break;
case 3:
system.out.println("do method c");
break;
case 4:
system.out.println("do method d");
break;
default:
break;
}