欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

按一定的概率随机出随机数(小白记录)

程序员文章站 2022-03-10 21:54:32
项目场景:按一定的概率随机出随机数例如:项目场景:项目需要每天凌晨0点准时发布,农场操作任务:如浇水,施肥,除草,除虫等,需要按一定的比例随机出每天的任务操作解决方案:提示:获得一个双精度随机数double random = Math.random();大致思路:将1分成100份,按生成数的区间划分数出现的范围如:想要出现1的次数占比40%,生成随机数若小于40,则输出 1实现代码public class RandomTest{ /** * */ public...

项目场景:

按一定的概率随机出随机数
例如:项目场景:项目需要每天凌晨0点准时发布,农场操作任务:如浇水,施肥,除草,除虫等,需要按一定的比例随机出每天的任务操作


解决方案:

提示:获得一个双精度随机数
double random = Math.random();
大致思路:将1分成100份,按生成数的区间划分数出现的范围
如:想要出现1的次数占比40%,生成随机数若小于40,则输出 1

实现代码

public class RandomTest{
  	/**
  	*
  	*/
    public int getRandom(){

        double a = 0.4;

        double b = 0.25;

        double c = 0.2;

        double d = 0.15;
        //获得一个双精度随机数
        double random = Math.random();
        System.out.println("random:"+random);
        if(random<=a){
            return 1;
        }
        if(random > a && random <= a+b){
            return 2;
        }
        if(random > a+b && random <= a+b+c){
            return 3;
        }
        if (random > a+b+c){
            return 4;
        }else {
            return -1;
        }
    }

    public static void main(String[] args) {
        double a = 0;
        double c = 0;
        double d = 0;
        double b = 0;
        double f = 0;
        for( int i = 0; i<1000;i++){
            RandomTest randomTest  = new RandomTest();
            int random = randomTest.getRandom();
            System.out.println("输出数:"+random);
            if(random==1){
                a++;
            }
            if(random==2){
                b++;
            }
            if(random==3){
                c++;
            }
            if(random==4){
                d++;
            }
        }
        System.out.println("1 出现:"+a+" 概率:"+a/(a+b+c+d)*100);
        System.out.println("2 出现:"+b+" 概率:"+b/(a+b+c+d)*100);
        System.out.println("3 出现:"+c+" 概率:"+c/(a+b+c+d)*100);
        System.out.println("4 出现:"+d+" 概率:"+d/(a+b+c+d)*100);
        System.out.println("生成次数:"+(a+b+c+d));
    }
}

本文地址:https://blog.csdn.net/qq_43641833/article/details/111996801

相关标签: 融智 java