数字猜测游戏问题

时间:2014-10-25 02:20:06

标签: java

所以,我在使用数字进行猜谜游戏时遇到了麻烦。我生成了一个随机数,但当我将我的方法调用到我的主程序中告诉我,如果我的猜测太大或太小,它似乎无法读取随机数。

即。 生成的随机数是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!");
    }
}

3 个答案:

答案 0 :(得分:3)

您正在main方法中将结果传递给myMethod。我怀疑你想把rnum传递给那个方法,因为那是你的psudeo随机数。

答案 1 :(得分:3)

在您的代码中:

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);
}

答案 2 :(得分:0)

试试这个

import java.util.Scanner; import 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");

}

}