簡體   English   中英

猜數字游戲問題

[英]Number Guessing Game Problems

因此,我在考慮猜數字游戲時遇到了麻煩。 我生成了一個隨機數,但是當我在主程序中調用我的方法以告訴我我的猜測太大還是太小時,它似乎沒有讀取隨機數。

IE隨機數為12

Guess 3.
"Sorry, too big."
Guess 0
"Sorry, too small."

任何幫助,將不勝感激。

這是一個片段:

public static void main(String[] args) {

    Random rand = new Random();
    int rnum = rand.nextInt(49);
    System.out.print(rnum);

    for(int result = 0; result < 5; result++) {
        myMethod(result);
    }
}

public static void myMethod (int rnum) {
    Scanner input = new Scanner (System.in);
    System.out.println(" Guess a number between 0 and 49");
    int guess;
    guess = input.nextInt();

    if (guess > rnum) {
        System.out.print("Too big, sorry. Try again.");
    } else if (guess < rnum) {
        System.out.print("Too small, sorry. Try again.");
    } else if (guess == rnum) {
        System.out.print("You Win!");
    }
}

您正在將結果傳遞給主方法中的myMethod。 我懷疑您想將rnum傳遞給該方法,因為那是您的psudeo隨機數。

在您的代碼中:

for(int result=0;result<5;result++){
    myMethod(result);
}

在這里,您將結果發送到myMethod而不是rnum。

 Random rand = new Random();
 int rnum = rand.nextInt(49);

調用myMethod時,它將根據您的代碼發送0、1、2、3、4。

發送

for(int result=0;result<5;result++){
    myMethod(rnum);
}

代替

for(int result=0;result<5;result++){
    myMethod(result);
}

嘗試這個

導入java.util.Scanner; 導入java.util.Random;

public class testt {

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.print("Guess a number: ");
    int Guessed = sc.nextInt();
    int Rnumber;
    Random num = new Random();
    for (int i=1; i <= 25; i++)
    {
        Rnumber = num.nextInt(12); // Numbers will be around 12

    }

    if (Guessed >= 3) {
        System.out.println("Sorry, too big");
    }
        else 
            if (Guessed <= 0){
        System.out.println("Sorry, too small");
    }

                else 
                    System.out.println("You win");

}

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM