程序随机问题(写一个随机函数)

题目:写一个随机函数
要求如下:
1,函数的参数为float,int float为概率的百分比 int为要返回的数据量
2,返回值为一个队列 队列放true与false true出现的数量的占总数量的float所描述的百分比 true与 false的总量为int描述的 true出现的在队列的位置必须是随机的
3,尽量少出现连续5个false 尽量少出现连续5个true,false 交叉的情况
4,保证每次循环的结果不一样

先拆解问题:
固定概率取值(true/false).
各个语言本身有随机数生成器,通常认为这个随机数生成器是等概率的。
假设float为50%。我现在调用随机数函数,随机值范围为0、1.取到0为true,1为false。取int次,放到queue中即可
加上float为20%。可以让随机数取值为0、1、2、3、4,取到0为true,其他都是false,取int次,放到queue中

看看 这个可以吗
public class Demo {
/*1,函数的参数为float,int float为概率的百分比 int为要返回的数据量
2,返回值为一个队列 队列放true与false true出现的数量的占总数量的float所描述的百分比 true与 false的总量为int描述的 true出现的在队列的位置必须是随机的
3,尽量少出现连续5个false 尽量少出现连续5个true,false 交叉的情况
4,保证每次循环的结果不一样*/
ArrayList list=new ArrayList();
public ArrayList randomNum(float probability,int returnNum){
Random random=new Random();
for(int i=0;i if(random.nextFloat()>=0&&random.nextFloat()<=(probability/10)){
list.add(true);
}else{
list.add(false);

        }
    }

    return list;

}
public static void main(String[] args) {
    Demo demo=new Demo();

        System.out.println(demo.randomNum(5,20 ).toString());
}

}
首先float中的值 是概率 不能大于10

你没有说用什么语言。一般各种语言都有随机数的库,自己看下。