Java实现的猜数字游戏示例

本文实例讲述了Java实现的猜数字游戏。分享给大家供大家参考,具体如下:

这里演示一段java语言猜数字代码,流程如下:

  • 系统随机生成0-9中的不重复四位数字。
  • 然后用户输入四个数字
  • 如果数字对了,位置不对 则显示 nB,n是有几个是位置对的。
  • 如果数字对了,位置也是对的 则显示mA,m代表有几个数字是正确位置上的。

例如:  生成的是0369    用户输入的是0396 则显示2A2B,两个位置是正确并且数字正确的,另外两个是数字正确,位置不正确的。

Java代码:

package com.example.test;
import java.util.Random;
import java.util.Scanner;
public class NumberCode {
  int[] Nums = new int[4];
  int[] inputNumsArray = new int[4];
  int difficultyLevel;
  int difficulty;
  int aA = 0;
  int bB = 0;
  String numberStr = "";
  String str = "";
  /**
   * 生成随机数
   */
  public int[] randNums(int n) {
    for (int i = 0; i < Nums.length; i++) {
      Random ran = new Random();
      int a = ran.nextInt(10);
      if (i - 1 != -1) {
        for (int j = 0; j < i; j++) {
          if (a == Nums[j]) {
            i--;
            break;
          } else {
            Nums[i] = a;
          }
        }
      } else {
        Nums[i] = a;
      }
    }
    return Nums;
  }
  /**
   * 选择游戏难度
   */
  public int selectLevel() {
    // 接受一个数字
    // 1:Easy 可以猜12次
    // 2:Common 可以猜9次
    // 3:Hard 可以猜7次
    @SuppressWarnings("resource")
    Scanner scan = new Scanner(System.in);
    System.out
        .println("请选择难度系数(输入数字),1:Easy 可以猜12次;2:Common 可以猜9次;3:Hard 可以猜7次");
    difficulty = scan.nextInt();
    switch (difficulty) {
    case 1:
      difficultyLevel = 12;
      break;
    case 2:
      difficultyLevel = 9;
      break;
    case 3:
      difficultyLevel = 7;
      break;
    default:
      break;
    }
    return difficultyLevel;
  }
  /**
   * 接受用户输入的数字
   */
  public int[] inputNums(int n) {
    @SuppressWarnings("resource")
    Scanner scan = new Scanner(System.in);
    int b = scan.nextInt();
    for (int i = 0; i < inputNumsArray.length; i++) {
      int c = (int) ((int) b / Math.pow(10, 3 - i));
      inputNumsArray[i] = c;
      b = (int) (b - c * Math.pow(10, (3 - i)));
    }
    return inputNumsArray;
  }
  /**
   * 数字比对的方法
   */
  public String compare(int[] answer, int[] inputs) {
    for (int i = 0; i < answer.length; i++) {
      if (inputs[i] == answer[i]) {
        aA += 1;
        continue;
      } else {
        for (int j = 0; j < answer.length; j++) {
          if (inputs[i] == answer[j]) {
            bB += 1;
          }
        }
      }
    }
    str = "" + aA + "A " + bB + "B ";
    return str;
  }
  /**
   * 整个游戏过程代码
   */
  public void play() {
    randNums(4);
    for (int i = 0; i < Nums.length; i++) {
      numberStr = numberStr + Nums[i];
    }
    selectLevel();
    System.out.println("你选择了难度系数:" + difficulty + " 共有:" + difficultyLevel
        + "次机会。");
    for (int i = 0; i < difficultyLevel; i++) {
      inputNums(4);
      int chanceNums = difficultyLevel - i - 1;
      compare(Nums, inputNumsArray);
      if (aA != 4) {
        if (chanceNums == 0) {
          System.out.println("机会用完了,答案是:" + numberStr);
          break;
        } else {
          System.out.println(str + " 你还有" + chanceNums + "次机会");
        }
        aA = 0;
        bB = 0;
      } else if (aA == 4) {
        System.out.println("恭喜你,答对了");
        break;
      }
    }
  }
  public static void main(String[] args) {
    NumberCode a = new NumberCode();
    a.play();
  }
}

运行结果:

请选择难度系数(输入数字),1:Easy 可以猜12次;2:Common 可以猜9次;3:Hard 可以猜7次
1
你选择了难度系数:1 共有:12次机会。
0123
0A 2B  你还有11次机会
2345
2A 0B  你还有10次机会
5678
2A 0B  你还有9次机会
7890
0A 2B  你还有8次机会
2378
恭喜你,答对了

运行效果如下图:

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数学运算技巧总结》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

(0)

相关推荐

  • Java编写猜数字小游戏

    本文实例讲述了java实现的简单猜数字游戏代码.分享给大家供大家参考. 以下是Java语言写的一个猜数字小游戏引用片段: import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; //主函数 public class calssOne { public static void main(String[] args) { //shit+Ctrl+o int result; //随机产生一个

  • java猜数字小游戏案例

    本文实例为大家分享了java猜数字小游戏案例,供大家参考,具体内容如下 package day08; import java.util.Scanner; public class GuessNumber { /** * 猜数字小游戏:. 需求: 随机产生一个整数数1-100(被猜数)不设置输出 * 键盘录入一个玩家要猜的数字 * 判断猜大还是猜小了或者猜中 */ public static void main(String[] args) { // 随机产生整数1-100 int number

  • java实现的简单猜数字游戏代码

    本文实例讲述了java实现的简单猜数字游戏代码.分享给大家供大家参考. 具体代码如下: 复制代码 代码如下: import java.util.InputMismatchException; import java.util.Scanner; public class Main {         public static void main(String[] args) {                 // 产生一个随机数                 int number = (in

  • java学习之猜数字小游戏

    今天主要学习了一些初级的设计,完成了这个猜数字的小游戏,其是也算不上是什么游戏,因为我答案都给出来了.当然也是想对代码更加熟练的操作,让自己能够得心应手. 这个小程序中让我花了点时间的主要是那个如何去重的问题,当时也是思考良久,后来才考虑到使用死循环让随机数产生直到不重复为止,其他感觉也还好. import java.util.Scanner; public class GuessingGames { public static void main(String[] args) { Scanne

  • java实现猜数字小游戏

    java 实现猜数字游戏 随机给定一个数字,猜大小直到正确 package com.swift; import java.util.Random; import java.util.Scanner; public class GuessBigSmall { public static void main(String[] args) { Scanner scan=new Scanner(System.in); Random random = new Random(); int number =

  • java版简单的猜数字游戏实例代码

    游戏简述 游戏涉及到game和player两个对象,game会产生介于0-9之间的随机数,下面看看详细的实现过程. 程序逻辑: 1.GameLauncher这个类带有main()方法,是应用程序的入口点 2.main()中会创建出GuessGame对象,并调用她的startGame()方法 3.startGame()方法是游戏的起点,它会创建3个player,然后挑出猜测的随即数字,它会要求player猜测并检查结果,过程会被列出来 类: •GameLauncher.class •GuessGa

  • Java实现的猜数字游戏示例

    本文实例讲述了Java实现的猜数字游戏.分享给大家供大家参考,具体如下: 这里演示一段java语言猜数字代码,流程如下: 系统随机生成0-9中的不重复四位数字. 然后用户输入四个数字 如果数字对了,位置不对 则显示 nB,n是有几个是位置对的. 如果数字对了,位置也是对的 则显示mA,m代表有几个数字是正确位置上的. 例如:  生成的是0369    用户输入的是0396 则显示2A2B,两个位置是正确并且数字正确的,另外两个是数字正确,位置不正确的. Java代码: package com.e

  • Go Java算法猜数字游戏示例详解

    目录 猜数字游戏 方法一:遍历(Java) 方法一:遍历(Go) 猜数字游戏 你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下: 写出一个秘密数字,并请朋友猜这个数字是多少.朋友每猜测一次,你就会给他一个包含下述信息的提示: 猜测数字中有多少位属于数字和确切位置都猜对了(称为 "Bulls",公牛), 有多少位属于数字猜对了但是位置不对(称为 "Cows",奶牛).也就是说,这次猜测中有多少位非公牛数字可以通过重新排列转换成公牛数字. 给

  • java实现简单猜数字游戏

    本文实例为大家分享了java实现猜数字游戏的具体代码,供大家参考,具体内容如下 1.游戏分析: 游戏第一步:需要一个随机数,并且该随机数有范围:(java的包中有一个Random类可产生随机数,需要导入这个包,如下) 游戏第二步:猜数字的设计,猜的次数为5次 2.编程实现: import java.util.Random; import java.util.Scanner; public class Guess_num { public static void main(String[] arg

  • java语言实现猜数字游戏

    本文实例为大家分享了java实现猜数字游戏的具体代码,供大家参考,具体内容如下 随机生成0~100的数字,通过控制台输入猜测数字,输出进行提示,知道猜测正确后,结束本次猜数字游戏,从而决定是否需要重新玩 代码如下: import java.util.Random; import java.util.Scanner; public class GuessNumber1{ public static Scanner scanner = new Scanner(System.in);//输入 publ

  • java使用JOptionPane猜数字游戏

    本文实例为大家分享了java实现猜数字游戏的具体代码,供大家参考,具体内容如下 一.我猜数字 import java.util.Random; import javax.swing.JOptionPane; public class MyRandom { public static void main(String[] args) { //生成随机数 Random randomNumber = new Random(); int myNum = randomNumber.nextInt(10);

  • Java简单实现猜数字游戏附C语言版本

    目录 前言 一.C语言版本 代码 运行结果 二.Java版本 代码 运行结果 总结 前言 以前在学C语言的时候,做过一个猜数字游戏,这两天学了Java的逻辑结构,试着用Java实现下. 一.C语言版本 以前做的C语言版本. 代码 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <time.h> void menu() { printf("******

  • python3.3使用tkinter开发猜数字游戏示例

    利用这个小游戏可以学习一下ython3.3中tkinter的使用方法 复制代码 代码如下: # -*- coding: utf-8 -*-import tkinter as tkimport sysimport randomimport re number = random.randint(0,1024)running = Truenum = 0nmaxn = 1024nminn = 0 def eBtnClose(event):    root.destroy() def eBtnGuess(

  • Java Socket实现猜数字小游戏

    本文实例为大家分享了Java Socket实现猜数字游戏的具体代码,供大家参考,具体内容如下 运行截图 Server Client 完整代码 Server import java.io.IOException; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Random; import java.util.Scanner; public clas

  • Java的带GUI界面猜数字游戏的实现示例

    先导包 import java.util.*; import javax.swing.*; 再写主方法 public static void main(String[] args) { } 新声明一个Scanner和随机数 public static void main(String[] args) { Scanner in = new Scanner(System.in); Random r = new Random(); } 让UIManager爬取系统窗口样式 try { UIManage

  • Java实现英文猜词游戏的示例代码

    目录 前言 主要设计 功能截图 代码实现 游戏启动类 处理 单词判断 总结 前言 <英文猜词游戏>代码行数没有超过200行,是之前为了背英语单词,特意研发的小游戏. 主要设计 1.事先准备单词文本. 2.为了让玩家能与程序互动,使用下面这个命令可达效果 Scanner sc = new Scanner(System.in); 3.运行WordleMaster里的main方法 4.在Wordle中输入第一个单词(默认第一个单词是abort,会显示在console中.可在代码中修改) 5.将Wor

随机推荐