首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

Java关于随机数的有关问题

2013-09-06 
Java关于随机数的问题?路人甲攻击路人乙,假设结果只可能是“击中”,击中要害,躲闪,招架这四种之一,并

Java关于随机数的问题?
路人甲攻击路人乙,假设结果只可能是“击中”,"击中要害","躲闪","招架"这四种之一,
并且只能是一种(为描述方便这四种结果分别用符号A、B、C、D代表);
假设这四种结果产生的概率分别是a%、b%、c%、d%,其中a+b+c+d=100,要求从这四种结果中随机选一种结果,
发生概率越高的事件被选中的几率越大。
/**
*根据概率随机选择一种结果,发生概率越高的事件被选中的几率越大
*@param per 参数数组的元素值分别顺序代表A,B,C,D发生的概率
*@return 返回0代表A事件,返回1代表B事件,返回2代表C事件,返回3代表D事件
*/
public int randomResult(int[] per){

} Java random
[解决办法]
**
*根据概率随机选择一种结果,发生概率越高的事件被选中的几率越大
*@param per 参数数组的元素值分别顺序代表A,B,C,D发生的概率
*@return 返回0代表A事件,返回1代表B事件,返回2代表C事件,返回3代表D事件
*/
public int randomResult(int[] per){

        int i  = (int)100*random();
        if(i<=per[0])
        return 0;
        if(per[0]<i<per[0]+per[1])
        return 1;
        if(per[0]+per[1]<i<per[0]+per[1]+per[2])
        return 2;
        if(per[0]+per[1]+per[2]<i<100)
        return 3;

热点排行