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)
还没有任何评论哟~
