Advertisement

java模拟乒乓球比赛

阅读量:

java通过随机数模拟乒乓球比赛

复制代码
    package MyJava;
    
    import java.util.ArrayList;
    import java.util.Random;
    
    public class Test_模拟乒乓球
    {
    public static void main(String[] args)
    {
        int[][] result= new int[7][2];
        int temp=0;//甲:乙  ->  temp记录甲的胜局,七局四胜
        int k=0;//记录有效局数
        for (int i=0;i<result.length;i++)
        {
            result[i]=pingpong();
            if(result[i][0]>result[i][1])
            {
                temp++;
            }
            if(temp==4||(i+1-temp)==4)//甲队胜4局或者乙队胜4局直接结束比赛
            {
                k=i+1;
                break;
            }
        }
        print(result,k);//打印有效局数
    }
    public static int[] pingpong()
    {
        Random random = new Random();
        ArrayList<Integer>  list = new ArrayList<Integer>();//该数组存储空间可变
        int sum=0;//记录1的数量即甲队胜球数
        int k=0;//记录总球数
        while (true)
        {
            if(sum>=11||k-sum>=11)//1的数量超过11,或者0的数量超过11
            {
                if(Math.abs(sum-(k-sum))>=2)//1和0的数量差大于1
                {
                    break;
                }
            }
            int temp=random.nextInt(2);//随机生成10个0或1之间的整数
            list.add(temp);
            sum+=temp;
            k++;
        }
        //System.out.println("sum="+sum);
        //System.out.println("k="+k);
        //print(list.toArray());//打印验证
        return new int[]{sum,k-sum};
    }
    public static void print(int[][] mat)//打印验证
    {
        for (int i=0;i<mat.length;i++)
        {
            for (int j=0;j<mat[i].length;j++)
            {
                System.out.print(mat[i][j]);
                if(j!=mat[i].length-1)
                    System.out.print(":");
            }
            System.out.println();
        }
    }
    public static void print(int[][] mat,int k)//打印验证有效局数
    {
        for (int i=0;i<k;i++)
        {
            for (int j=0;j<mat[i].length;j++)
            {
                System.out.print(mat[i][j]);
                if(j!=mat[i].length-1)
                    System.out.print(":");
            }
            System.out.println();
        }
    }
    public static void print(Object[] objects)//测试用的
    {
        for (int x = 0;x<objects.length;x++)
        {
            System.out.print(objects[x].toString());
        }
    }
    }![在这里插入图片描述]()

全部评论 (0)

还没有任何评论哟~