Java入门第38课——猜字母游戏之设计程序结构
问题
本案例需要实现猜字母游戏程序中的程序结构
方案
分析猜字母游戏可以看出,程序首先需要随机产生5个不同的字母作为需要猜测的结果,因此,可以先定义一个方法,以实现此功能;其次,每当玩家猜测一次后,程序需要将玩家录入的字符串和正确答案进行比较,统计正确的字符个数以及正确的位置个数,因此,也可以先定义一个方法,专用于实现比较功能。这样,就可以在main方法中调用这两个方法。
步骤
实现此案例需要按照如下步骤进行。
步骤一:定义方法generate()
在GuessingGame类中,定义方法generate(),该方法用于随机生成五个不同的字母。代码如下所示:
import java.util.Scanner;
public class GuessingGame{
public static void main(String[] args){
//表示玩家猜测的次数
int count=0;
//表示用户猜测的数据
char[] input=null;
//表示猜测的字符串
char[] chs=null;
//用于保存判断的结果
int[] result=new int[2];
}
}
/**
*随机生成需要猜测的字母序列
*
*@return 存储随机字符的数组
*/
public static char[] generate(){
char[] chs=new char[5];
return chs;
}
步骤二:定义方法check()
在GuessingGame类中,定义方法check()。该方法用于将玩家输入的多个字母(参数input)和系统随机生成的多个字母(参数chs)进行比较,统计正确的字符个数,以及位置正确的个数,并将结果存储到数组中,然后返回给调用方。代码如下所示:
import java.util.Scanner;
public class GuessingGame{
public static void main(String[] args){
//表示玩家猜测的次数
int count=0;
//表示用户猜测的数据
char[] input=null;
//表示猜测的字符串
char[] chs=null;
//用于保存判断的结果
int[] result=new int[2];
}
/**
*随机生成需要猜测的字母序列
*
*@return 存储随机字符的数组
*/
public static char[] generate(){
char[] chs=new char[5];
return chs;
}
/**
*比较玩家输入的字母序列和程序所生成的字母序列,逐一比较字符及其位置,并记载比较结果
*
*@param chs
* 程序生成的字符序列
*@param input
* 玩家输入的字符序列
*return 存储比较的结果。返回值int数组的长度为2,其中,索引为0的位置
* 用于存放完全猜对的字母个数(字符和位置均正确),索引为1的位置用于存放猜对的字母个数(字符
* 正确,但是位置不正确)。
*/
public static int[] check(char[] chs,char[] input){
int[] result=new int[2];
return result;
}
}
---------------------
最新文章
- 【无私分享:ASP.NET CORE 项目实战(第二章)】添加EF上下文对象,添加接口、实现类以及无处不在的依赖注入(DI)
- 如何让vim编辑器永久显示行号
- Atitit. js mvc 总结(2)----angular 跟 Knockout o99 最佳实践
- 项目跑起来之后,一会儿后台就会报错Illegal access: this web application instance has been stopped already. Could not load [com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask]. The following stack trace
- 【BZOJ】3809: Gty的二逼妹子序列
- sql commands
- MariaDB集群Galera Cluster的研究与测试
- MVC URL处理
- jQuery练习实例(四)
- 图论(无向图的割顶):POJ 1144 Network
- WPF界面设计
- [转python 父类可以调用子类的方法
- ueditor编辑器使用总结
- ElasticSsarch汇总
- python----数据驱动ddt的使用
- socketserver 实现并发
- node里面的buffer理解
- caz,数字证书,公钥
- 【bzoj4589】Hard Nim FWT+快速幂
- zookeeper入门实例
热门文章
- mongo12---手动预先分片
- 并不对劲的bzoj5342:loj2554:uoj401:p4566: [Ctsc2018]青蕈领主
- java翻译lua+c+openssl签名项目
- 利用插件(jQuery-ui.js)实现表格行的拖拽排序
- json知识笔记
- Linux 常用命令四 rmdir rm
- bzoj 1565 [NOI2009]植物大战僵尸【tarjan+最大权闭合子图】
- setsockopt()函数功能介绍
- python之计数统计
- 安装 Apache Commons Logging API步骤