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

