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;
      }
      
    }
--------------------- 

posted @ 2019-05-29 10:30  水至清明  阅读(205)  评论(0编辑  收藏  举报