這篇文章將為大家詳細講解有關如何使用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實現猜數字游戲”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。