Java猜字母游戏——实现字母生成方法-创新互联

问题

创新互联是一家网站设计公司,集创意、互联网应用、软件技术为一体的创意网站建设服务商,主营产品:响应式网站建设、品牌网站制作营销型网站建设。我们专注企业品牌在网站中的整体树立,网络互动的体验,以及在手机等移动端的优质呈现。网站建设、成都网站建设、移动互联产品、网络运营、VI设计、云产品.运维为核心业务。为用户提供一站式解决方案,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏析悦目的作品,网站的价值服务。

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

方案

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

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

Java猜字母游戏——实现字母生成方法

步骤

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

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

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

}无锡专业妇科医院 http://www.xasgyy.net/

步骤二:随机选择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

int index;

do{

index=(int)(Math.random()*(letters.length));

}while(flags[index]);//判断生成的字符是否重复

chs[i]=letters[index];

flags[index]=true;

}

return chs;

}

总结:

很多初学者写程序没有思路,即使有思路也不知道从哪里下手,脑子里一团糟。无论多么复杂的程序,都是由一个个小功能组成。这里的小功能指的就是“方法”,将每一个小功能都封装成方法,完善每一个方法,一个程序就完成了。

generate()方法的关键就在于如何实现不重复,这里用到了flag标记实现了不重复。在其他需要实现不重复的...程序中,也可以用到此思想。

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


新闻标题:Java猜字母游戏——实现字母生成方法-创新互联
标题链接:http://myzitong.com/article/gdhdp.html