java隨機(jī)事件分發(fā)器示例
以下需求:
20%的概率去執(zhí)行方法A,
1%的概率去執(zhí)行方法B,
29%的概率去執(zhí)行方法C,
50%的概率去執(zhí)行方法D
如果用if隨機(jī)數(shù)之類(lèi)的語(yǔ)句去判斷的話,可能會(huì)寫(xiě)的很亂,我寫(xiě)了一個(gè)隨機(jī)分發(fā)器,可以規(guī)范該操作。使用該分發(fā)器后的代碼如下:
//創(chuàng)建一個(gè)分發(fā)器
RandomDispatcher randomDispatcher = new RandomDispatcher();
//設(shè)置每種事件的概率,注意,概率之和不一定是100哦
randomDispatcher.put(20, 1);
randomDispatcher.put(1, 2);
randomDispatcher.put(29, 3);
randomDispatcher.put(50, 4);
//隨機(jī)
int retIndex = randomDispatcher.random();
//根據(jù)隨機(jī)結(jié)果去執(zhí)行不同的方法
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;
}
- 剖析Java中的事件處理與異常處理機(jī)制
- Java添加事件監(jiān)聽(tīng)的四種方法代碼實(shí)例
- java抓取鼠標(biāo)事件和鼠標(biāo)滾輪事件示例
- java開(kāi)發(fā)gui教程之jframe監(jiān)聽(tīng)窗體大小變化事件和jframe創(chuàng)建窗體
- java常見(jiàn)事件響應(yīng)方法實(shí)例匯總
- java基礎(chǔ)之標(biāo)簽、按鈕和按鈕事件簡(jiǎn)介
- 為Java應(yīng)用程序添加退出事件響應(yīng)
- Java List雙擊事件實(shí)現(xiàn)方法
- javascrpt綁定事件之匿名函數(shù)無(wú)法解除綁定問(wèn)題
- 經(jīng)常用到的JavasScript事件的翻譯
- Java事件處理機(jī)制(自定義事件)實(shí)例詳解
相關(guān)文章
Spring Cloud之服務(wù)監(jiān)控turbine的示例
這篇文章主要介紹了Spring Cloud之服務(wù)監(jiān)控turbine的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
SpringBoot之多環(huán)境打包與配置文件排除方式
這篇文章主要介紹了SpringBoot之多環(huán)境打包與配置文件排除方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04
Spring?@Cacheable注解類(lèi)內(nèi)部調(diào)用失效的解決方案
這篇文章主要介紹了Spring?@Cacheable注解類(lèi)內(nèi)部調(diào)用失效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
Spring?Boot中獲取request的三種方式及請(qǐng)求過(guò)程
這篇文章主要介紹了Spring?Boot當(dāng)中獲取request的三種方式,包括請(qǐng)求過(guò)程流程分析及response常用API,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03
Spring緩存注解@Cacheable @CacheEvit @CachePut使用介紹
Spring在3.1版本,就提供了一條基于注解的緩存策略,實(shí)際使用起來(lái)還是很絲滑的,本文將針對(duì)幾個(gè)常用的注解進(jìn)行簡(jiǎn)單的介紹說(shuō)明,有需要的小伙伴可以嘗試一下2021-07-07

