现在的位置: 首页 > 综合 > 正文

用JAVA编写的“宾果”游戏实例化操作—-随机数据哦

2013年12月05日 ⁄ 综合 ⁄ 共 1674字 ⁄ 字号 评论关闭

/*
 * 小生:烟大洋仔
 * 程序要求:
 *   大家都玩过“宾果”游戏吧,我们今天要编写一个程序实现产生1--25之间的随机数来生成数组,即一个小小的宾果游戏
 * 问题分析与程序设计:
 *   (1)问题一:不知道什么时候数组填满。所以在写的过程中要进行判断才行,在这里我用了while循环来进行判断
 *   (2)问题二:产生数组数值在放入数组之前要进行判断,到底此数值重复没有??没有重复的话才能放入数组中,代码如下:
 *    for(i=0;i<5;i++)
   {
    for(j=0;j<5;j++)
    {//判断是否重复了
     if (table[i][j]==x)
     {
      bk=2;
      break;
     }
     else
     {
      if(table[i][j]==0)
      {
       table[i][j]=x;
       bk=2;
       break;
      }
     }
    }
    if(bk==2)break;
   }
  (3)将随机数控制在1--25之间:x=(int)(Math.random()*25)+1;//用x来接受随机数
  (4)最后填满数组后判断数组是不是已经填满了:
  int sum=0;
   for(i=0;i<5;i++)
   {
    for (j=0;j<5;j++)
    {
     if(table[i][j]!=0)
     sum=sum+1;
    }
   }
   if (sum==25) e=1;
 * */

public class Day0925_Array
{
 public static void main(String args[])
 {
  String str =new String();
  int table[][]=new int[5][5];//定义一个五行五列的数组
  int i,j,e=0,x,bk;
  System.out.println("显示初始数据为:");
  for(i=0;i<5;i++)
  {
   str="";
   for (j=0;j<5;j++)
   {
    str=str+" "+table[i][j];//该句在之前的系列文章中多次用到,读者应该有所了解啦
   }
   System.out.println(str);//输出数组数据默认为全是0
  }
  while(e==0)
  {
   x=(int)(Math.random()*25)+1;//用x来接受随机数
   bk=1;
   for(i=0;i<5;i++)
   {
    for(j=0;j<5;j++)
    {//判断是否重复了
     if (table[i][j]==x)
     {
      bk=2;
      break;
     }
     else
     {
      if(table[i][j]==0)
      {
       table[i][j]=x;
       bk=2;
       break;
      }
     }
    }
    if(bk==2)break;//如果满足条件控制程序for循环跳出来
   }
   int sum=0;
   for(i=0;i<5;i++)
   {
    for (j=0;j<5;j++)
    {
     if(table[i][j]!=0)
     sum=sum+1;//统计数组中不是0的数的个数
    }
   }
   if (sum==25) e=1;//如果数据个数为25个则令e=1;那么此时while循环将会终止
  }
  System.out.println("显示随即变化后的数据为:");
  for(i=0;i<5;i++)
  {
   str="";
   for (j=0;j<5;j++)
   {
    str=str+" "+table[i][j];
   }
   System.out.println(str);//输出数组数据
  }
 }
 
}

抱歉!评论已关闭.