中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Java實現猜數字游戲

發布時間:2021-04-15 12:48:22 來源:億速云 閱讀:195 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關如何使用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實現猜數字游戲”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

玉环县| 正宁县| 临高县| 苗栗市| 环江| 郧西县| 佛冈县| 微山县| 乌拉特中旗| 公安县| 龙井市| 浑源县| 宾阳县| 东乌珠穆沁旗| 东阿县| 海伦市| 安塞县| 武夷山市| 泊头市| 南华县| 内乡县| 濮阳市| 伊宁市| 延边| 安丘市| 清原| 陇南市| 兴隆县| 秀山| 泽库县| 普兰店市| 通河县| 手机| 会同县| 三明市| 德惠市| 满城县| 安龙县| 绥芬河市| 西城区| 泗水县|