package fundmental_excise6;import java.util.Arrays;
import java.util.Scanner;/*** @author : jeasion* @date 创建时间:2019年4月10日 上午9:35:57* @name 猜字母游戏——实现游戏等级* @comment 为猜字母游戏添加游戏等级。游戏等级设为三等:5、7和9,代表所需要猜测的字母个数。 游戏    开始时,由玩家选择游戏等级(5,7,9)。*          如果选择7,则会随机产生7个字符, 然后玩家输入一个字符串包含7个字符,看这7个字符和随机产生的7个字符比较, 看是否正确,并统计分数。*          另外,如果输入其它,重新提示输入游戏等级* @return * A-Z 65-90 a-z 97-122*/
public class GuessingWord {// 主函数public static void main(String[] args) {int degree = 5;// 难度int[] statistics = new int[2];GuessingWord guessingWord = new GuessingWord();degree = guessingWord.degree();// 获取难度char[] ch = guessingWord.generateString(degree);// 生成字符串,并将字符串存储System.out.println("字符串:" + Arrays.toString(ch));statistics = guessingWord.regx(ch, degree, statistics);while (statistics[1] != degree) {System.out.println("再猜");statistics = guessingWord.regx(ch, degree, statistics);}guessingWord.score(statistics[0]);}// 游戏等级public int degree() {int degree;Scanner scanner = new Scanner(System.in);System.out.print("请选择游戏等级5 7 9:");degree = scanner.nextInt();while (degree != 5 && degree != 7 && degree != 9) {System.out.println("抱歉,你输入的游戏等级有误,请重新输入");degree = scanner.nextInt();}return degree;}// 生成字符public char[] generateString(int degree) {char[] ch = new char[degree];/** 构建一个从0-25的数组, 然后将其中的值加65赋值给char * 里面的数只要被用过就将其赋值为1000 保证char不会取到重复的值*/int[] nums = new int[26];for (int i = 0; i < nums.length; i++) {nums[i] = i;}for (int i = 0; i < degree; i++) {int temp = 0;do {temp = (int) (Math.random() * 26);ch[i] = (char) (65 + temp);} while (nums[temp] == 1000);nums[temp] = 1000;}return ch;}// 字符匹配public int[] regx(char ch[], int degree, int[] statistics) {Scanner scanner = new Scanner(System.in);char[] inputChar = new char[ch.length];int pos = 0;int num = 0;// 获取用户输入的字符串,并将全部字符转换成大写字母,方便统计System.out.println("请输入你的字符串");String string = scanner.nextLine().toUpperCase();// 用户输入的字符串长度和难度不同,要求用户重新输入while (string.length() != degree) {System.out.println("字符长度不正确,请重新输入");string = scanner.next().toUpperCase();}// 将用户输入的字符串拆分成字符数组for (int i = 0; i < inputChar.length; i++) {inputChar[i] = string.charAt(i);}
//      System.out.println("你输入的字符数组:" + Arrays.toString(inputChar));
//      System.out.println("原字符数组:" + Arrays.toString(ch));// 进行字符串匹配for (int i = 0; i < inputChar.length; i++) {for (int j = 0; j < inputChar.length; j++) {if (ch[i] == inputChar[j]) {num++;if (i == j) {pos++;break;}}}}statistics[0]++; // 获取次数statistics[1] = num;// 获取猜对的个数System.out.println("你猜对了" + num + "个字符," + "其中" + pos + "个字符位置正确,总次数=" + statistics[0] + "\t");return statistics;}// 分数统计public void score(int count) {System.out.println("你一共猜了" + count + "次,得分:" + (500 - count * 10));}}

Java 猜字谜游戏相关推荐

  1. Java猜数游戏怎么验证_Java实现猜数游戏

    利用Math.random()方法产生1~100的随机整数,利用JOptionPane.showInputDialog()方法产生一个输入对话框,用户可以输入所猜的数.若所猜的数比随机生成的数大,则显 ...

  2. java猜数字游戏实验报告_java猜数游戏实验报告.doc

    java猜数游戏实验报告 课 程 设 计 报 告 课程设计名称 Java程序设计-猜数游戏 指导教师 钟世刚 专业 班级 信息安全 学 号 姓 名 成 绩 一.设计任务与要求1 1.1 设计任务与要求 ...

  3. java猜数字游戏_java猜数字游戏

    java猜数字游戏要求:1.在100-999中输入任意数字,有10次猜的机会,期间会被告知猜大了.猜小了.猜对了.当10次机会用完,游戏结束.2.任意时候按S可开始或重新开始,按Q可退出.我... j ...

  4. java获取一个目录下所有字谜_Java 猜字谜游戏 - osc_4jkldo6l的个人空间 - OSCHINA - 中文开源技术交流社区...

    package fundmental_excise6; import java.util.Arrays; import java.util.Scanner; /** * @author : jeasi ...

  5. 数据结构猜字谜游戏(Java语言编写)

    前几年买的一本数据结构与算法分析的书籍, 偶然看到以前有很多题目没有做, 现在抽空来看一下. 题目:输入是由一些字母构成的一个二维数组以及一组单词组成.目标是要找出字谜中的单词, 这些单词可能是水平. ...

  6. java猜数字游戏应用程序_猜数字游戏的Java小程序

    /* 猜数字游戏: 1,产生随机数. 2,获取键盘录入. 3,将录入数据变成数字,和随机数比较. 给出提示信息. 4,重复这个过程,如果猜中,程序就结束. 注意:对于输入1~100以外的数字,,以及非 ...

  7. java猜数游戏图形界面_Java做一个猜数的小游戏

    @Author : By Runsen 效果展现 猜数字游戏是一个简单,有趣的小游戏.游戏者通过输入一个指定区间的数字,与系统产生的随机数进行对比,然后输出相应的结果. 游戏运行时产生一个0-10之间 ...

  8. java猜数字游戏实验报告_Java实现的猜数字游戏示例

    本文实例讲述了Java实现的猜数字游戏.分享给大家供大家参考,具体如下: 这里演示一段java语言猜数字代码,流程如下: 系统随机生成0-9中的不重复四位数字. 然后用户输入四个数字 如果数字对了,位 ...

  9. java猜单词游戏_Java_初级编程,猜英文单词游戏

    大家好,这是我第一次在BlogJava发帖,本人酷爱编程,加入BlogJava社区,就是为了认识结交更多有共同兴趣爱好的朋友,交流彼此学习编程的经验,请大家多多支持我 下面的Java程序是我学习Jav ...

最新文章

  1. git安装和使用案例
  2. Jpg, Jpeg, Exif
  3. 学习历史预测未来,国防科大新模型实现未来事实预测SOTA
  4. log4j记录exception异常有价值信息及log4j级别
  5. 复制的python代码格式错误_新手常见6种的python报错及解决方法
  6. swift学习第四章
  7. 链家程序员怒删 9TB 数据,被判 7 年!
  8. mysql 查询最大值的总和_mysql中最大值和最小值以及总和查询与计数查询的实例详解...
  9. 架设 DNF(地下城与勇士) 三分钟搭建
  10. Python基础教程(第3版)PDF
  11. ntpwedit 提示密码未修改_关于开启密码控制策略所引发的一些问题
  12. Python基础 -- 注释、变量以及数据类型、标识符和关键字、类型转、运算符
  13. 扩展YouTube视频频道,提高业务增量
  14. 第三章 程序的机器级表示
  15. OSChina 周一乱弹 ——老东西!爷爷我!帮你拿!
  16. 计算机电脑关机后可以充电吗,电脑关机了还能充电吗
  17. android增量编译,GitHub - brok1n/androidBsdiffUpdate: Android增量更新项目源代码。带C源程序以及ndk编译好的so包。可以直接导出使用。...
  18. 东软实训心得:万事开头难
  19. 【Luogu P4766】 [CERC2014]Outer space invaders(区间dp)
  20. 合天——SQL注入实验一

热门文章

  1. django-orm查询-验证是否存在的方式
  2. django-静态文件设置
  3. Ansible AdHoc playbook API + 动态生成Inventory +结果关注
  4. C# 实现连连看功能
  5. C语言 · 龟兔赛跑预测
  6. 基于HTML5 的人脸识别技术
  7. C#制作Windows service服务系列二:演示一个定期执行的windows服务及调试(windows service)(转载)...
  8. Linux 下的几个游戏模拟器
  9. 容器编排技术 -- Kubernetes 使用 PodPreset 将信息注入 Pods
  10. Spring Boot Initilizr - 使用ThirdParty工具