问题

实现猜字母游戏中的字母生成方法,即,随机生成5个不同的字母作为猜测的结果。

方案

实现generate方法,首先声明一个字符类型的数组,用于存储26个大写字母,然后声明一个boolean类型的数组,其长度也为26。此数组中的初始值均为false,意味着,程序起始,没有任何字母被选中。如果某个字母被选中,则同时设置该字母在boolean类型数组中对应位置上的值为true,表示该字母被选中过。

然后,使用嵌套循环:外层循环用于控制所生成的字母个数,即,循环5次,以产生5个字母;而内层循环则用于判断所生成的字母是否重复。generate方法的程序流程如图所示:

步骤

实现此案例需要按照如下步骤进行。

步骤一:构建存储所有字母的数组

在generate方法中,首先定义char类型的数组变量letters,用于存放26个大写字母,然后定义boolean类型的数组变量flag,flag数组的大小和letters数组的大小相同,用于记载某字母是否被选中,以便于判断字母是否重复。代码如下所示:

Java入门第39课——猜字母游戏之实现字母生成方法相关推荐

  1. Java入门第37课——猜字母游戏之设计数据结构

    问题         有猜字母游戏,其游戏规则为:程序随机产生5个按照一定顺序排列的字符作为猜测的结果,由玩家来猜测此字符串.玩家可以猜测多次,每猜测一次,则由系统提示结果.如果猜测的完全正确,则游戏 ...

  2. Java入门第38课——猜字母游戏之设计程序结构

    问题 本案例需要实现猜字母游戏程序中的程序结构 方案 分析猜字母游戏可以看出,程序首先需要随机产生5个不同的字母作为需要猜测的结果,因此,可以先定义一个方法,以实现此功能:其次,每当玩家猜测一次后,程 ...

  3. Java入门第107课——使用add方法向集合中添加元素

    问题 使用add方法向集合中添加元素,详细要求如下: 1)使用ArrayList构造集合对象c,并输出该对象. 2)将字符串"a"."b"."c&qu ...

  4. Java入门第116课——向List中插入和删除元素

    问题 向List集合的指定索引位置插入元素以及移除指定索引位置的元素,详细要求如下: 1)创建List接口的引用list,使该引用指向ArrayList的实例,将字符串"java" ...

  5. Java入门第112课——使用Iterator的hasNext方法、next方法遍历集合

    问题 使用Iterator的hasNext方法.next方法遍历集合,详细要求如下: 1)使用HashSet构建集合c,将字符串"java"."cpp".&qu ...

  6. Java入门第53课——俄罗斯方块项目中的T类和J类

    问题 在Tetris游戏中,游戏场地由10列×20行个正方形格子构成,如图所示,每个方块由四个格子组成,绘制在场地中,如图所示中的红色方块. 4个小型正方形格子组成的规则图形(Tetromino),共 ...

  7. Java入门第111课——集合addAll、containsAll的用法

    问题 测试Collection接口中addAll方法.containsAll方法的用法,详细要求如下: 1)使用ArrayList构建集合c1,将字符串"java"."c ...

  8. Java入门第118课——List转换为数组

    问题 将集合List转换为数组,详细要求如下所示: 1)创建List接口的引用list,使该引用指向ArrayList的实例:将字符串"a"."b"." ...

  9. Java入门第82课——StringBuilder的append方法

    问题 StringBuilder类提供将各种数据类型变量的字符串形式追加到当前序列中的append方法,在Java API中提供的append重载方法如图-15所示: 本案例要求将字符串"j ...

最新文章

  1. oracle web API,在Web API程序中使用Swagger做接口文档
  2. http 403错误解决
  3. CSS外框高度自动适应
  4. socket 通信关于bind那点事
  5. 第二篇|腾讯开源项目盘点:ncnn、xLua、libco等
  6. 如何用Python的pyecharts库绘制K线图
  7. 【操作系统】同步和互斥
  8. jenkins集成钉消息通知
  9. oracle删除一张表的sql语句,oracle删除表的语句
  10. python3 value counts函数_如何将value_counts()输出转换为数据帧?
  11. 产品研发过程管理专题——产品需求分析原则一
  12. 网络规划设计师水平考试备考资料(6.光纤相关)
  13. 电商项目数据库表的学习及数据库表结构设计
  14. 分享微软一站式示例脚本库 - IT专业人士的省时利器
  15. 20221115使用google文档翻译SRT格式的字幕
  16. Java面试笔试经验技巧总结
  17. nginx日志格式分析
  18. 1、定义一个复数类Complex,使得下面的代码能够工作。 Complex c1(3,5); Complex c2=4.5; c1.add(c2); c1.show();
  19. (排序3)希尔排序时间复杂度与直接选择排序
  20. DialogFragment中通过dataBinding绑定View,设置点击事件无效,通过getWindow设置dialog位置和大小无效。

热门文章

  1. 今天无意之间看到一个免费小说站群系统叫牛犇CMS,牛犇【ben】CMS
  2. 计算机 英语折算学分规定,泰州学院奖励学分制度实施细则
  3. PHP替换字符串的几种方式
  4. 计算机辅助翻译翻译技术的译前应用,计算机辅助翻译技术在应用型英语教学中的运用...
  5. python 优先队列_python实现最大优先队列 python优先级队列如何最大值优先
  6. 代码片段 - 怎样获取jqGrid的各种参数? jqGrid刷新当前列表页代码
  7. GCN学习:Pytorch-Geometric教程(一)
  8. 使用 乐天 / V-IM 作为网页即时聊天
  9. 【java感悟】认真看书Day1
  10. 软件测试系列--通用测试用例写作