猜數字遊戲通常由兩個人玩,一方出數字,一方猜(這裏就由系統陪您玩啦)。出數字的人要想好一個隨機數字,不能讓猜的人知道,猜的人就可以開始猜了。
猜數字遊戲通常設有猜測次數的上限,這裏設置爲 0~8
聲明: 具體的實現方式有很多,這裏僅供參考使用。
猜錯繼續,猜對結束,提供3次機會,機會用完後無論對錯,終止遊戲。
未優化版
import java.util.Random;
import java.util.Scanner;
public class GuessNum1 {
public static void main(String[] args) {
//猜錯繼續,猜對結束
System.out.println("請輸入一個0~8之間的數:");
//創建隨機數對象
Random random = new Random();
//調用隨機數對象的nextInt()方法 得到隨機數
int getRandom = random.nextInt(10); //隨機生成0~9之間的數字
//創建掃描器
Scanner in = new Scanner(System.in);
for(int i = 1;i<=3;i++) {
//調用掃描對象的nextInt()方法 得到從鍵盤輸入的數據
int getIn = in.nextInt(9); //輸入值爲0~8之間,否則程序會報錯
System.out.println("你要猜的數 = "+getIn);
if(i==1) {
//遊戲開始
if(getIn > getRandom){
System.out.println("猜大了哦!!!再來一次");
}else if(getIn == getRandom) {
System.out.println("恭喜你猜對啦!!!");
break;
}else {
System.out.println("猜小了哦!!!再來一次");
}
System.out.println("你還有兩次機會\n");
}else if(i==2) {
//遊戲開始
if(getIn > getRandom){
System.out.println("猜大了哦!!!再來一次");
}else if(getIn == getRandom) {
System.out.println("恭喜你猜對啦!!!");
break;
}else {
System.out.println("猜小了哦!!!再來一次");
}
System.out.println("你還有一次機會\n");
}else {
//遊戲開始
if(getIn > getRandom){
System.out.println("猜大了哦!!!");
}else if(getIn == getRandom) {
System.out.println("恭喜你猜對啦!!!");
break;
}else {
System.out.println("猜小了哦!!!");
}
System.out.println("你的機會已經用完了哦\n");
}
}
}
}
執行結果
優化後
import java.util.Random;
import java.util.Scanner;
public class GuessNum2 {
public static void main(String[] args) {
//猜錯繼續,猜對結束
System.out.println("請輸入一個0~9之間的數:");
//創建隨機數對象
Random random = new Random();
//調用隨機數對象的nextInt()方法 得到隨機數
int getRandom = random.nextInt(10); //隨機生成0~9之間的數字
//創建掃描器
Scanner in = new Scanner(System.in);
int a=0; //記錄次數
while(a<3) {
//調用掃描對象的nextInt()方法 得到從鍵盤輸入的數據
int getIn = in.nextInt(9); //輸入值爲0~8之間,否則程序會報錯
System.out.println("你要猜的數 = "+getIn);
//遊戲開始
if(getIn == getRandom) {
System.out.println("恭喜你猜對啦!!!");
a++;
break;
}else if(getIn > getRandom){
a++;
System.out.println("猜大了哦!!!還有"+(3-a)+"次機會");
}else {
a++;
System.out.println("猜小了哦!!!還有"+(3-a)+"次機會");
}
if(a<=2) {
System.out.println("再來一次");
}else {
System.out.println("機會已花光");
}
}
}
}