使用java做一个简单的集卡程序

使用java做一个简单的集卡程序

本次设想的是要集齐4张卡,每张卡的概率都是25%,如果每个用户集齐需要多少次才能集合完毕

public class Test {
    public static void main(String[] args) {
        //1.总循环数(模拟用户)
        for (int i = 0; i < 10000; i++)
        {
            int[] a = {1,2,3,4}; //4张卡片
            //2.生成随机数sss并记录一个用户集卡完毕后的统计
            for(int n = 0;;n++)
            {
                int index = (int) (Math.random() * a.length);
                int sss=index+1;
                //System.out.println(sss);
                //3.如果a的数值等于sss的数值则a的数值等于0
                for (int m = 0; m < a.length; m++)
                {
                    if(a[m] == sss)
                    {
                        a[m] = 0;
                    }
                }
                //System.out.println(Arrays.toString(a));
                //如果a数组的和都等于0则跳出循环,并记录本次循环次数
                if(Arrays.stream(a).sum()==0)
                {
                    int s = n+1;
                    System.out.println(s);
                    break;
                }
            }
        }
    }
}

最后随便统计了下数据使用java做一个简单的集卡程序_第1张图片

你可能感兴趣的:(java)