用JAVA编写的“宾果”游戏实例化操作----随机数据哦
2012-09-25 13:15
423 查看
/*
* 小生:烟大洋仔
* 程序要求:
* 大家都玩过“宾果”游戏吧,我们今天要编写一个程序实现产生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);//输出数组数据
}
}
}
* 小生:烟大洋仔
* 程序要求:
* 大家都玩过“宾果”游戏吧,我们今天要编写一个程序实现产生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);//输出数组数据
}
}
}
相关文章推荐
- 黑马程序员--读写字节数组,随机读写流,集合IO的思维导图,多线程部分,单例设计模式,线程和进程的概念,Java中的线程的创建方式,线程的随机性,线程的状态图,多线程操作共享数据的安全性,死锁
- JAVA基础再回首(二十三)——操作基本数据类型的流、内存操作流、打印流、随机访问流、合并流、序列化流
- JAVA基础 day23 IO流的其他类 (对象的序列化 管道流 RandomAccessFile类(随机读取文件) DateStream(操作基本数据类型的流) 操作数组的流 )字符编码问题
- java17.IO操作------使用字节流读写数据
- Head First Java (第二版)学习记录 5 - 编写程序 DotCom 初级游戏
- java19.IO操作------使用字符流读写数据
- Java多线程总结(4)— 线程范围内数据操作的隔离及ThreadLocal类
- 学会利用java程序编写“随机输入三角形的三边,判断是否能构成三角形“
- 编写JAVA程序收集Tomcat性能数据
- Java 小例子:编写石头剪刀布游戏
- java操作JSON数据格式
- JAVA求数据的阶乘---递归法的实例化
- 游戏服务器中的数据库异步操作技术和游戏数据的保存机制
- Java-Oracle-Excel随机生成测试数据
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- java 操作mysql的创建数据库及数据的增删改查
- Java基础-22总结登录注册IO版,数据操作流,内存操作流,打印流,标准输入输出流,转换流,随机访问流,合并流,序列化流,Properties
- java基础学习总结——监听当数据发生变化时要做的操作
- hive(05)、使用JAVA对数据仓库HIVE进行操作
- 【java编程】IO流之操作各种数据类型