zoukankan      html  css  js  c++  java
  • Java入门第39课——猜字母游戏之实现字母生成方法

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

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

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

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

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

    public static char[] generate(){
            char[] chs=new char[5];
            
            char[] letters={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S',
                     'T','U','V','W','X','Y','Z'};
            boolean flags=new boolean[letters.length];
            return chs;
        }
    步骤二:随机选择5个不同的字母
            使用嵌套循环,随机选择5个不同的字母,并且这五个字母不相同。代码如下所示:

    public static char[] generate(){
            char[] chs=new char[5];
            
            char[] letters={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S',
                     'T','U','V','W','X','Y','Z'};
            boolean[] flags=new boolean[letters.length];
            
            for(int i=0;i<chs.length;i++){
                int index;
                do{
                    index=(int)(Math.random()*(letters.length));
                }while(flags[index]);//判断生成的字符是否重复
                chs[i]=letters[index];
                flags[index]=true;    
            }
            
            return chs;
        }
    --------------------- 

  • 相关阅读:
    玩裸机s3c2440资料集合
    windows7与虚拟机fedora 9.0文件共享
    仪表运算放大器INA333
    sql语句中的 case.. when...then ...else 用法
    JS判断RadioButtonList是否有选中项
    SQL SERVER 2005 同步复制技术
    软件安全性标准
    div+css网页标准版式布局
    ComboBox和SelectedIndexChanged(转)
    VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程
  • 原文地址:https://www.cnblogs.com/hyhy904/p/10947591.html
Copyright © 2011-2022 走看看