java猜四位数字游戏

游戏运行时会随机生成4位数字,并且4个数字不重复,然后用户在控制台每次输入4个数字,输入时使用空格分隔,程序会告诉用户对了几个,其中位置对了有几个

程序运行结果示例

猜四位数密码游戏开始
5 3 2 1
1个数字正确且位置正确
5 2 3 1
1个数字正确且位置正确
5 8 4 0
4个数字正确,其中2个位置正确,2个位置不对
5 4 8 0
恭喜你,猜对了!

完整源码

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;public class Application {public static void main(String[] args) {Random random = new Random();int[] answer = randomDiff4();System.out.println(Arrays.toString(answer));System.out.println("猜四位数密码游戏开始");Scanner scanner = new Scanner(System.in);while(true) {try {String line = scanner.nextLine();String[] inputs = line.split(" ");int[] inputInt = new int[answer.length];for(int i=0; i<inputInt.length; ++i) {inputInt[i] = Integer.parseInt(inputs[i]);}if(match(inputInt, answer)) {break;}} catch (Exception e) {}}}/*** 随机生成4个不一样的整数*/public static int[] randomDiff4() {Random random = new Random();int[] answer = {-1, -1, -1, -1};int alreadRandom = 0;for(int i=0; i<answer.length; ++i) {while(true) {int r = random.nextInt(10);boolean find = false;for(int j=0; j<alreadRandom; ++j) {if(answer[j] == r) {find = true;break;}}if(!find) {answer[alreadRandom++] = r;break;}}}return answer;}public static boolean match(int[] input, int[] answer) {int size = answer.length;// 数字正确的个数int numCount = 0;// 位置正确的个数int positionCount = 0;for(int i=0; i<size; ++i) {for(int j=0; j<size; ++j) {if(answer[i] == input[j]) {numCount++;if(i==j) {positionCount++;}break;}}}if(positionCount == answer.length) {System.out.println("恭喜你,猜对了!");return true;}if(numCount == 0) {System.out.println(numCount + "个数字正确");return false;}if(numCount == positionCount) {System.out.println(numCount + "个数字正确且位置正确");return false;}System.out.println(numCount + "个数字正确," + "其中" + positionCount + "个位置正确," + (numCount-positionCount) + "个位置不对");return false;}
}

java猜四位数字游戏相关推荐

  1. Java猜字小游戏求助

    Java猜字小游戏求助 17行出现错误 源码:<摘自百度> public static void main(String[] args){ System.out.println(" ...

  2. 利用Scanner和Random类写的java猜字小游戏

    利用Scanner和Random类写的java猜字小游戏 题目:随机生成一个数,然后键盘输入猜的数字,验证输入数和这个随机生成的数是否相等,一共有五次猜测机会,自动提示输入的数大了还是小了,如果五次都 ...

  3. 猜四位数字智力游戏javascript源码实现

    系统给定一个随机四位数 如4589 游戏者第一次猜 如4385 这时系统提示2A1B,表示猜的数字有两个数字且位置与系统给定的数字的相同,即4和8 1B表示有一个数你猜对了但位置不对,即5 根据这个提 ...

  4. java 蓝桥杯 数字游戏

    试题 算法训练 数字游戏 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个1-N的排列a[i],每次将相邻两个数相加,得到新序列,再对新序列重复这样的操作,显然每次得到的序列 ...

  5. 猜1-100数字游戏

    逻辑是:电脑随机输出值 ,我们来猜 ,猜大了 告诉我们猜大了 ,猜小了 告诉我们猜小了 1.先在主函数里用do while 来实现至少一次游戏 void menu() {printf("== ...

  6. 【Java——猜数小游戏】

    文章目录 (一)编程实现 (二)讲解知识点 1.前测试条件循环 - while循环 (1)语法格式 (2)执行情况 2.后测试条件循环 - do-while循环 (1)语法格式 (2)执行情况 3.随 ...

  7. Java 猜字小游戏

    import java.util.Random; import java.util.Scanner;public class Game {public static void main(String[ ...

  8. Java猜数小游戏、c语言猜数小游戏

    原理简单,使用循环.判断语句进行编写 package tset;import java.util.Random; import java.util.Scanner;public class Guest ...

  9. html猜随机数游戏,用js制作简易计算器及猜随机数字游戏

    JS简易计算器 input[type="button"] { height:55px; width:55px; background-image: -webkit-linear-g ...

最新文章

  1. python sys模块 输入输出 错误流
  2. freeRtos学习笔记 (6)软件定时器
  3. webpack打包后引用cdn的js_利用CDN加速react webpack打包后的文件详解
  4. 《LeetcodeHot100非困难题补录》
  5. java 通过模板替换pdf_word模板替换方案 PDF 下载
  6. R-CNN学习笔记4:Fast R-CNN
  7. 计算机二级C语言题库(44套真题+刷题软件)第一套
  8. citrix服务器共享文件夹,如何使用citrix XenApp 发布远程共享文件夹,及其故障解决...
  9. 【算法】数独解题——用python代码
  10. JS原型与原型链总结
  11. error:control reaches end of non-void function [-Werror=return-type]
  12. 图书馆管理系统(详细)(C语言版本)
  13. 2.6.2 QDate类与QDateEdit控件介绍(日期处理)
  14. winmerge 保存为html,使用WinMerge作为git的Merge工具
  15. 为什么一个盘里的文件夹都不见了,里面一片空白,但那些文件所占的内存却还在的,但好像没被删除
  16. ionic中android的返回键
  17. c++中二维数组与二维向量的长度
  18. ucsd计算机科学学院,浅谈美国计算机科学专业,真的超牛!
  19. cellspacing与cellpadding
  20. html语言div图片垂直居中,图文详解图片水平垂直居中的五种方法

热门文章

  1. 黑盒测试用例设计方法-边界值分析法
  2. Jira+Wiki配置手册
  3. 盯上好男人 服装业B2C暗战
  4. ssdt_用于商业智能开发SQL Server数据工具(SSDT)的演变
  5. 图论学习-有向图强连通分量
  6. 银联批量结算 java_银联在线 网关支付 (JAVA版)
  7. [iOS微博项目 - 2.6] - 获取微博数据
  8. Echarts人口金字塔
  9. 教你优雅的处理网页中的图片
  10. word中设置英文单词不自动换行