中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

如何使用Java實現(xiàn)猜數(shù)字游戲

這篇文章將為大家詳細(xì)講解有關(guān)如何使用Java實現(xiàn)猜數(shù)字游戲,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

目前成都創(chuàng)新互聯(lián)已為近千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、鶴山網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

具體如下:

這里演示一段java語言猜數(shù)字代碼,流程如下:

  • 系統(tǒng)隨機(jī)生成0-9中的不重復(fù)四位數(shù)字。

  • 然后用戶輸入四個數(shù)字

  • 如果數(shù)字對了,位置不對 則顯示 nB,n是有幾個是位置對的。

  • 如果數(shù)字對了,位置也是對的 則顯示mA,m代表有幾個數(shù)字是正確位置上的。

例如:  生成的是0369    用戶輸入的是0396 則顯示2A2B,兩個位置是正確并且數(shù)字正確的,另外兩個是數(shù)字正確,位置不正確的。

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 = "";
  /**
   * 生成隨機(jī)數(shù)
   */
  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() {
    // 接受一個數(shù)字
    // 1:Easy 可以猜12次
    // 2:Common 可以猜9次
    // 3:Hard 可以猜7次
    @SuppressWarnings("resource")
    Scanner scan = new Scanner(System.in);
    System.out
        .println("請選擇難度系數(shù)(輸入數(shù)字),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;
  }
  /**
   * 接受用戶輸入的數(shù)字
   */
  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;
  }
  /**
   * 數(shù)字比對的方法
   */
  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("你選擇了難度系數(shù):" + difficulty + " 共有:" + difficultyLevel
        + "次機(jī)會。");
    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("機(jī)會用完了,答案是:" + numberStr);
          break;
        } else {
          System.out.println(str + " 你還有" + chanceNums + "次機(jī)會");
        }
        aA = 0;
        bB = 0;
      } else if (aA == 4) {
        System.out.println("恭喜你,答對了");
        break;
      }
    }
  }
  public static void main(String[] args) {
    NumberCode a = new NumberCode();
    a.play();
  }
}

運行結(jié)果:

請選擇難度系數(shù)(輸入數(shù)字),1:Easy 可以猜12次;2:Common 可以猜9次;3:Hard 可以猜7次
1
你選擇了難度系數(shù):1 共有:12次機(jī)會。
0123
0A 2B  你還有11次機(jī)會
2345
2A 0B  你還有10次機(jī)會
5678
2A 0B  你還有9次機(jī)會
7890
0A 2B  你還有8次機(jī)會
2378
恭喜你,答對了

運行效果如下圖:

如何使用Java實現(xiàn)猜數(shù)字游戲

關(guān)于“如何使用Java實現(xiàn)猜數(shù)字游戲”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

網(wǎng)站標(biāo)題:如何使用Java實現(xiàn)猜數(shù)字游戲
URL分享:http://m.rwnh.cn/article46/jgppeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、面包屑導(dǎo)航、建站公司品牌網(wǎng)站設(shè)計、用戶體驗、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
方山县| 丰县| 红河县| 芜湖市| 定陶县| 兰溪市| 静海县| 孙吴县| 岗巴县| 阜康市| 周口市| 成武县| 运城市| 乌海市| 高尔夫| 义马市| 长寿区| 石阡县| 五大连池市| 来安县| 曲水县| 阿勒泰市| 夏津县| 宁晋县| 丽水市| 德兴市| 阜康市| 井研县| 宜川县| 锡林郭勒盟| 武义县| 伊通| 庆安县| 隆化县| 甘肃省| 开远市| 垣曲县| 乌拉特后旗| 甘洛县| 腾冲县| 延长县|