這篇文章將為大家詳細(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
恭喜你,答對了
運行效果如下圖:
關(guān)于“如何使用Java實現(xiàn)猜數(shù)字游戲”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
網(wǎng)站標(biāo)題:如何使用Java實現(xiàn)猜數(shù)字游戲
URL分享:http://www.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)