【Java】猜数字小游戏
生活随笔
收集整理的這篇文章主要介紹了
【Java】猜数字小游戏
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
閑來無事想到之前自己做的猜數(shù)字沒有特點(diǎn)就寫了這個(gè)程序,它主要是結(jié)合了數(shù)組,可以實(shí)現(xiàn)按位拆解來按位提示用戶猜的高低,下面是代碼:
import java.util.Random; import java.util.Scanner;public class GuessNumber3 {private static int count = 0;public static int[] save(int number, int[] numberArray) {int hundred = number/100;int decade = (number-hundred*100)/10;int unit = number-hundred*100-decade*10;numberArray[0] = hundred;numberArray[1] = decade;numberArray[2] = unit; return numberArray;}public static void judge(int number) {if (number >= 100 && number <= 999) {return;} else {System.err.println("數(shù)據(jù)不合法,程序結(jié)束");System.exit(0);}}public static int rejudge(int[] numberArray1, int[] numberArray2, int i) {if (numberArray1[i] > numberArray2[i]) {System.out.println("第" + (i+1) + "位猜低了!");} else if (numberArray1[i] < numberArray2[i]) {System.out.println("第" + (i+1) + "位猜高了!");} else {System.out.println("恭喜你,第" + (i+1) + "位猜對(duì)了!");count++;}return count;}public static void main(String[] args) {System.out.println("是否猜數(shù)字?(Y/N)");Scanner scan = new Scanner(System.in);String choice = scan.next();while(choice.equalsIgnoreCase("Y")) {int[] setNumberArray = new int[3];int[] getNumberArray = new int[3];Random r = new Random(); int setNumber = r.nextInt(900)+100;judge(setNumber);save(setNumber, setNumberArray);System.out.println("你至多有5次機(jī)會(huì)猜數(shù)字~~~");System.out.println("請(qǐng)輸入一個(gè)三位整數(shù)");for (int j= 0; j < 5; j++) {int getNumber = scan.nextInt();judge(getNumber); save(getNumber, getNumberArray);count = 0;for (int i = 0; i < 3; i++) {rejudge(setNumberArray, getNumberArray, i);}if (count == 3) {System.out.println("恭喜你,你猜對(duì)了!");System.exit(0);}if (j == 4) {System.out.println("要猜的數(shù)是:" + setNumber);}}System.out.println("是否繼續(xù)猜數(shù)字?(Y/N)");choice = scan.next();}scan.close();}}總結(jié)
以上是生活随笔為你收集整理的【Java】猜数字小游戏的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 100道Go语言面试题
- 下一篇: 【Java】基础知识整理