文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

使用java编写一个猜字母游戏

2023-06-06 17:49

关注

使用java编写一个猜字母游戏?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

Java是什么

Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序。

案例需求:

StepOne:

系统随机生成一组随机的字符数组(不重复)

StepTwo:

控制台输入一组字符串与系统生成的字符数组进行对比

StepThree:

若控制台输入与系统随机生成的不符则提示字符正确个数及对位正确个数

StepFour:

若控制台输入与系统随机生成的完全一致则提示“恭喜你猜对了,游戏结束”程序退出。若不完全一致则需要一直猜

StepFive:

若控制台输入的是EXIT则提示“游戏终止”程序退出

StepSix:

若控制台输入的数组长度不符则提示“年轻人不讲武德,长度不符,耗子尾汁!”

具体代码实现:

package game;import java.util.Scanner;public class GuessLetters {  public static char[] Nonce(){ char[] random=new char[5];//不重复的随机字母数组,长度5// 存储可能出现的字母的char数组(库) char[] warehouse={ '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类型的变量(长度是warehouse的长度)来记录使用过的warehouse数组的元素 boolean[] warehouseOne=new boolean[warehouse.length]; for (int i=0;i<random.length;i++){//遍历random数组中的每个元素 int index; do {//随机warehouse长度的下标// 创建一个index变量随机生成warehouse数组长度的下标 index=(int)(Math.random()*warehouse.length); }while (warehouseOne[index]==true);// 将warehouse[index]中的元素赋值给random[i]元素 random[i]=warehouse[index];// 在boolean类型的warehouseOne数组中对应的index元素改为true(以做标记) warehouseOne[index]=true; } return random; }  public static int[] contrast(char[] random, char[] input){ int[] result=new int[2];//result[0]字母对个数,result[1]对位对个数 for (int i=0;i<input.length;i++){//遍历input数组 for (int j=0;j<random.length;j++){//遍历random数组 if (input[i]==random[j]){//对比字符对对错  result[0]++;//字符正确个数+1  if (i==j){//对比对位对错  result[1]++;  }  break;//当字符对时 无需继续对比后面的元素,跳出循环。 } } } return result; }  public static void main(String[] args) {// 调用random方法,来产生一个随机的char字符数组 char[] chs=Nonce(); System.out.println(chs);//作弊// 控制台输入 Scanner sc = new Scanner(System.in);// 创建一个变量result数组存储字符正确,对位正确个数// 错误次数 int mistake=0; do {//需求当没有猜对时,一直猜// 友好提示 System.out.println("请输入五个不重复的字母");// 接受输入的字符串inputOne将inputOne转换成大写 String inputOne = sc.next().toUpperCase();// 需求:控制台输入EXIT,则程序退出  if ("EXIT".equals(inputOne)){//判断接收的字符是否是EXIT  break;//跳出循环,程序结束  }  // 将字符串类型数组转换成char类型数组  char[] input = inputOne.toCharArray();// 需求:控制台如若输入的字符长度与随机字符长度不符则友好提示 if (result[2]!=chs.length){//判断长度是否一致// 调用对比逻辑的方法contrast int[] result = contrast(chs, input);//  需求:如果猜对了,则友好提示,且程序终止  if (result[1]==chs.length) {//判断对位正确个数是否与随机的数组长度一致//  友好提示  System.out.println("恭喜你猜对了,游戏结束!");  break;//条数循环,程序结束  }else{// 输出结果(字符正确个数,对位正确个数)  System.out.println("字符正确个数:" + result[0] + "\t对位正确个数:" + result[1]+"\n继续猜");//  需求:记录错误次数  mistake++;//错误次数+1  }  }else{//  友好提示  System.out.println("年轻人不讲武德,长度不符,耗子尾汁");  } }while (true); }}

关于使用java编写一个猜字母游戏问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网行业资讯频道了解更多相关知识。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯