首先,對不起,如果我沒有最好的英語,它不是我的第一語言..Java的「猜數」遊戲
所以,這個問題.. Ive得到了鍛鍊,我必須建立一種minigame,在這裏我必須考慮1到1024之間的數字。然後,程序必須詢問用戶是否認爲數字較小,大於或等於數字。但電腦只允許提出10個問題。然而。我不知道,如何做到這一點,我已經在過去幾天做到了。我也沒有在互聯網上找到任何東西。 這裏是我的代碼必須在之前尚未:
package numberguessing;
import java.util.Scanner;
public class Numberguessing {
public static void main(String[] args) {
int av = 0;
int rz;
System.out.println("Please think for a number between 1 and 1024");
// 1 2 3 4 5 6 7 8 9 10
// 2 4 8 16 32 64 128 256 512 1024
System.out.println("I will know your number after max 10 questions");
System.out.println("I will name you a number");
System.out.println("You have to say, if the number is littler, greater than or equal to your number");
rz = a/2 ;
System.out.println("Is your number littler, greater than or equal to " + rz +"?");
Scanner sc = new Scanner(System.in);
String an = sc.next();
do{
av++;
if(an.equalsIgnoreCase("littler")) {
rz = rz/2 ;
System.out.println("Is your number littler, greater than or equal to " + rz +"?");
an = sc.next();
} else if(an.equalsIgnoreCase("greater")){
rz = (rz + 1024)/2 ;
System.out.println("Is your number littler, greater than or equal to " + rz +"?");
an = sc.next();
} else if(an.equalsIgnoreCase("equal")) {
} else {
System.out.println("Error: The answer wasnt littler, greater or equal");
}} while(!an.equalsIgnoreCase("equal"));
System.out.println("I won the game after " + av + " tries");
sc.close();
}
}
rz = a/2;你定義的變量'a'在哪裏 – victor
你會得到編譯錯誤嗎?你能提供你寫的測試的樣本輸入和輸出嗎? – Freiheit
哦。在我的代碼是它的定義,但我認爲我刪除了它,而我翻譯英文文本:)這是爲1024 – Hunny