问题
        本案例需要实现猜字母游戏程序中的程序结构

方案
        分析猜字母游戏可以看出,程序首先需要随机产生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;
      }
      
    }
---------------------

Java入门第38课——猜字母游戏之设计程序结构的更多相关文章

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

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

  2. Java入门第39课——猜字母游戏之实现字母生成方法

    问题        实现猜字母游戏中的字母生成方法,即,随机生成5个不同的字母作为猜测的结果. 方案        实现generate方法,首先声明一个字符类型的数组,用于存储26个大写字母,然后声 ...

  3. 猜字母游戏(Java)

    我的代码: package day20181025; import java.util.Arrays; import java.util.Scanner; /** * 猜字母 * @author Ad ...

  4. Kotlin入门第四课:简单工厂模式

    Kotlin基础知识的学习,请参考之前的文章: Kotlin入门第一课:从对比Java开始 Kotlin入门第二课:集合操作 Kotlin入门第三课:数据类型 初次尝试用Kotlin实现Android ...

  5. Android零基础入门第38节:初识Adapter

    原文:Android零基础入门第38节:初识Adapter 在上一节一起了解了ListView的简单使用,那么本节继续来学习与ListView有着千丝万缕的Adapter. 一.了解MVC模式 在开始 ...

  6. java入门第五步之数据库项目实战【转】

    在真正进入代码编写前些进行一些工具的准备: 1.保证有一个可用的数据库,这里我用sql server 2000为例,2.拥有一个ide,如ecelise或myeclipse等,这里我使用的是myecl ...

  7. 第二节:Java入门第一行代码

    前言 大家好,今天带来Java入门第一行代码的概述,希望你们喜欢 第一行代码 学习Java基础课程,学会使用eclipse,eclipse为Java集成开发坏境IDE,创建第一个Java源文件代码: ...

  8. JSP简单练习-猜字母游戏

    <!-- guessCharExample.jsp --> <%@ page contentType="text/html; charset=gb2312" %& ...

  9. Android零基础入门第15节:掌握Android Studio项目结构,扬帆起航

    原文:Android零基础入门第15节:掌握Android Studio项目结构,扬帆起航 经过前面的学习,Android Studio开发环境已准备OK,运行Android应用程序的原生模拟器和Ge ...

随机推荐

  1. Linux设备驱动--块设备(三)之程序设计

    块设备驱动注册与注销 块设备驱动中的第1个工作通常是注册它们自己到内核,完成这个任务的函数是 register_blkdev(),其原型为:int register_blkdev(unsigned i ...

  2. 【转】WdatePicker.js的使用方法 帮助文档 使用说明 如何使用

    [转]WdatePicker.js的使用方法 帮助文档 使用说明 如何使用 日期控件支持平面显示功能,只要设置一下eCont属性就可以把它当作日历来使用了,无需触发条件,直接显示在页面上 示例2-1 ...

  3. aria2 for mac

    本文是在安装好homebrew前提下 brew install aria2 然后配置参数 cd ~ mkdir .aria2 cd .aria2 vim aria2.conf 以下配置粘贴进去,红色需 ...

  4. [Tjoi2016&Heoi2016] 树

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4551 [算法] 树链剖分 时间复杂度 : O(QlogN) [代码] #includ ...

  5. P4284 [SHOI2014]概率充电器 dp

    这个题题干说的不清楚,一开始我以为只能是旁边紧挨着的传火,导致我一开始根本不知道哪错了.后来,我想到树形dp,但是需要正反考虑,()既要考虑父亲,又要考虑儿子),互相都有影响,所以没太想出来.后来知道 ...

  6. bzoj2809 [Apio2012]dispatching——左偏树(可并堆)

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2809 思路有点暴力和贪心,就是 dfs 枚举每个点作为管理者: 当然它的子树中派遣出去的忍者 ...

  7. 【转】python中获得当前目录和上级目录

    原文地址:http://blog.csdn.net/liuweiyuxiang/article/details/71154346 获取当前文件的路径: from os import path d = ...

  8. vue demo todo-list

    html <input type='text' v-model="todoItem" v-on:keyup.enter='addItem'> <ul> &l ...

  9. U3D中碰撞体和刚体的关系

    1.刚体是用来接受力作用的组件: 2.碰撞体是碰撞系统用来检测碰撞的组件: 碰撞产生碰撞信息,游戏物体根据碰撞信息生成一个力作用在刚体上,刚体受力后就会产生一个速率,最终在游戏物体的运动体现出来. 也 ...

  10. PHP简单实现单点登录功能示例

    1.准备两个虚拟域名 127.0.0.1  www.openpoor.com127.0.0.1  www.myspace.com 2.在openpoor的根目录下创建以下文件 index.PHP 1 ...