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

本文介绍了一个使用Java编写的简易宾果游戏程序。该程序能够生成1至25之间的不重复随机数并填充到5x5的数组中,确保每个数字仅出现一次。通过双重循环检查数组元素,避免重复填充相同的数字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
 * 小生:烟大洋仔
 * 程序要求:
 *   大家都玩过“宾果”游戏吧,我们今天要编写一个程序实现产生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);//输出数组数据
  }
 }
 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值