欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實(shí)現(xiàn)的猜數(shù)字游戲示例

 更新時(shí)間:2018年06月29日 14:59:29   作者:MonKing__  
這篇文章主要介紹了Java實(shí)現(xiàn)的猜數(shù)字游戲,涉及Java數(shù)學(xué)運(yùn)算與判斷相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Java實(shí)現(xiàn)的猜數(shù)字游戲。分享給大家供大家參考,具體如下:

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

  • 系統(tǒng)隨機(jī)生成0-9中的不重復(fù)四位數(shù)字。
  • 然后用戶輸入四個(gè)數(shù)字
  • 如果數(shù)字對(duì)了,位置不對(duì) 則顯示 nB,n是有幾個(gè)是位置對(duì)的。
  • 如果數(shù)字對(duì)了,位置也是對(duì)的 則顯示mA,m代表有幾個(gè)數(shù)字是正確位置上的。

例如:  生成的是0369    用戶輸入的是0396 則顯示2A2B,兩個(gè)位置是正確并且數(shù)字正確的,另外兩個(gè)是數(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() {
    // 接受一個(gè)數(shù)字
    // 1:Easy 可以猜12次
    // 2:Common 可以猜9次
    // 3:Hard 可以猜7次
    @SuppressWarnings("resource")
    Scanner scan = new Scanner(System.in);
    System.out
        .println("請(qǐng)選擇難度系數(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ù)字比對(duì)的方法
   */
  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;
  }
  /**
   * 整個(gè)游戲過程代碼 
   */
  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ī)會(huì)。");
    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ī)會(huì)用完了,答案是:" + numberStr);
          break;
        } else {
          System.out.println(str + " 你還有" + chanceNums + "次機(jī)會(huì)");
        }
        aA = 0;
        bB = 0;
      } else if (aA == 4) {
        System.out.println("恭喜你,答對(duì)了");
        break;
      }
    }
  }
  public static void main(String[] args) {
    NumberCode a = new NumberCode();
    a.play();
  }
}

運(yùn)行結(jié)果:

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

運(yùn)行效果如下圖:

更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Java實(shí)現(xiàn)遞歸查詢樹結(jié)構(gòu)的示例代碼

    Java實(shí)現(xiàn)遞歸查詢樹結(jié)構(gòu)的示例代碼

    我們?cè)趯?shí)際開發(fā)中,肯定會(huì)用到樹結(jié)構(gòu),如部門樹、菜單樹等等。Java后臺(tái)利用遞歸思路進(jìn)行構(gòu)建樹形結(jié)構(gòu)數(shù)據(jù),返回給前端,能以下拉菜單等形式進(jìn)行展示。今天,咱們就來說說怎么樣將List集合轉(zhuǎn)換成TreeList
    2022-11-11
  • JAVA SFTP文件上傳、下載及批量下載實(shí)例

    JAVA SFTP文件上傳、下載及批量下載實(shí)例

    本篇文章主要介紹了JAVA SFTP文件上傳、下載及批量下載實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • Spring ApplicationContext接口功能詳細(xì)介紹

    Spring ApplicationContext接口功能詳細(xì)介紹

    ApplicationContext是Spring應(yīng)用程序中的中央接口,由于繼承了多個(gè)組件,使得ApplicationContext擁有了許多Spring的核心功能,如獲取bean組件,注冊(cè)監(jiān)聽事件,加載資源文件等
    2023-02-02
  • Java設(shè)計(jì)模式—觀察者模式詳解

    Java設(shè)計(jì)模式—觀察者模式詳解

    這篇文章主要介紹了Java設(shè)計(jì)模式—觀察者模式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Java List 集合如何去除null元素

    Java List 集合如何去除null元素

    這篇文章主要介紹了Java List 集合如何去除null元素,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Json字符串內(nèi)容比較超實(shí)用教程

    Json字符串內(nèi)容比較超實(shí)用教程

    這篇文章主要介紹了Json字符串內(nèi)容比較-超實(shí)用版,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • Java?Swing實(shí)現(xiàn)掃雷源碼

    Java?Swing實(shí)現(xiàn)掃雷源碼

    這篇文章主要為大家詳細(xì)介紹了Java?Swing實(shí)現(xiàn)掃雷源碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Java局部內(nèi)部類和匿名內(nèi)部類定義與用法實(shí)例分析

    Java局部內(nèi)部類和匿名內(nèi)部類定義與用法實(shí)例分析

    這篇文章主要介紹了Java局部內(nèi)部類和匿名內(nèi)部類,結(jié)合實(shí)例形式分析了java局部內(nèi)部類和匿名內(nèi)部類相關(guān)定義、原理與用法,需要的朋友可以參考下
    2019-08-08
  • Java基于鏈表實(shí)現(xiàn)棧的方法詳解

    Java基于鏈表實(shí)現(xiàn)棧的方法詳解

    這篇文章主要介紹了Java基于鏈表實(shí)現(xiàn)棧的方法,結(jié)合實(shí)例形式詳細(xì)分析了Java基于鏈表實(shí)現(xiàn)棧的原理、操作步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2020-03-03
  • java web監(jiān)聽器統(tǒng)計(jì)在線用戶及人數(shù)

    java web監(jiān)聽器統(tǒng)計(jì)在線用戶及人數(shù)

    本文主要介紹了java web監(jiān)聽器統(tǒng)計(jì)在線用戶及人數(shù)的方法解析。具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-04-04

最新評(píng)論