Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 保持方法之间的随机数相同_Java_Loops_Methods_Random - Fatal编程技术网

Java 保持方法之间的随机数相同

Java 保持方法之间的随机数相同,java,loops,methods,random,Java,Loops,Methods,Random,在下面的代码中,第一个方法(GeneratorDomainNumber)生成一个介于1和10之间的随机no。第二种方法(guessRandomNumber)允许用户猜测数字。我遇到的问题是,当用户猜错数字时,它会生成另一个随机数,而不是最初的随机数。因此,用户可以猜测,即使输入每一个可能的数字,也永远不会得到正确的答案。谁能告诉我如何改变这一点 第一种方法(生成编号): 第二种方法(猜测数字): 尝试: public static void guessRandomNumber() {

在下面的代码中,第一个方法(GeneratorDomainNumber)生成一个介于1和10之间的随机no。第二种方法(guessRandomNumber)允许用户猜测数字。我遇到的问题是,当用户猜错数字时,它会生成另一个随机数,而不是最初的随机数。因此,用户可以猜测,即使输入每一个可能的数字,也永远不会得到正确的答案。谁能告诉我如何改变这一点

第一种方法(生成编号):

第二种方法(猜测数字):

尝试:

public static void guessRandomNumber() {

        // declare var for user guess and default to zero
        int userGuess = 0;
        boolean validNumber=false;
        boolean correctGuess=false;
        int secretNumber=generateRandomNumber();
do{

    do{
    try{
        validNumber=true;
        // Get user guess (between 1 and 10)
        System.out.println("Please enter a number between 1 and 10...");
        userGuess = scanner.nextInt();
    }catch (Exception ex){
        System.out.println("Sorry invalid entry...");
        //Flush scanner
        scanner.next();
        validNumber=false;
    }
    }while (!validNumber);
        if (userGuess == secretNumber) {

            System.out.println("Guess correct, well done!");
            correctGuess=true;

        } else {

            System.out.println("Sorry guess Incorrect please try again!");
            correctGuess=false;
        }
}while (!correctGuess);
    }// end ofGuessRandomNumber

您需要在用户猜测之前首先生成随机数,并将其存储在变量中。然后,不要在行中调用
generateRandomNumber()

if (userGuess == generateRandomNumber())

您需要将其与该变量进行比较。

您需要在用户猜测之前首先生成随机数,并将其存储在变量中。然后,不要在行中调用
generateRandomNumber()

if (userGuess == generateRandomNumber())

您需要将其与该变量进行比较。

您需要在用户猜测之前首先生成随机数,并将其存储在变量中。然后,不要在行中调用
generateRandomNumber()

if (userGuess == generateRandomNumber())

您需要将其与该变量进行比较。

您需要在用户猜测之前首先生成随机数,并将其存储在变量中。然后,不要在行中调用
generateRandomNumber()

if (userGuess == generateRandomNumber())



您需要将其与该变量进行比较。

您应该在第一个do循环之前生成随机数。将其保存在名为
correctNumber
的变量中,然后测试
userGuess==correctNumber

您应该在第一个do循环之前生成随机数。将其保存在名为
correctNumber
的变量中,然后测试
userGuess==correctNumber

您应该在第一个do循环之前生成随机数。将其保存在名为
correctNumber
的变量中,然后测试
userGuess==correctNumber

您应该在第一个do循环之前生成随机数。将其保存在名为
correctNumber
的变量中,然后测试
userGuess==correctNumber

int secretNumber=generateRandomNumber()并重复使用
secretNumber
,直到猜对为止?我应该用哪种方法创建它?在
guessRandomNumber()的开头
我已经这样做了,但是现在的问题似乎是第一个方法生成了一个随机数,然后当userGuess中的变量被创建时,它再次更改了该数字?
int secretNumber=generateRandomNumber()并重复使用
secretNumber
,直到猜对为止?我应该用哪种方法创建它?在
guessRandomNumber()的开头
我已经这样做了,但是现在的问题似乎是第一个方法生成了一个随机数,然后当userGuess中的变量被创建时,它再次更改了该数字?
int secretNumber=generateRandomNumber()并重复使用
secretNumber
,直到猜对为止?我应该用哪种方法创建它?在
guessRandomNumber()的开头
我已经这样做了,但是现在的问题似乎是第一个方法生成了一个随机数,然后当userGuess中的变量被创建时,它再次更改了该数字?
int secretNumber=generateRandomNumber()并重复使用
secretNumber
,直到猜对为止?我应该用哪种方法创建它?在
guessRandomNumber()的开头
我已经这样做了,但是现在的问题似乎是第一个方法生成了一个随机数,然后当userGuess中的变量被创建时,它再次更改了这个数?我应该用哪种方法创建这个变量?我早些时候尝试过这种方法,但似乎不起作用!嗯,你可以从我的回答中推断出来。我告诉过您将其与
if(userGuess==generateRandomNumber())
行中的变量进行比较。如果变量位于
generateRandomNumber
中,您将无法执行此操作,因为它在该行中不可见,因为它位于另一个方法中。我已经执行了此操作。但是,现在的问题似乎是,第一个方法生成了一个随机数,然后在创建变量时再次更改了该数?对不起,我只是不太懂这个概念。请在问题中发布您的尝试。完成,谢谢您的帮助!我应该用哪种方法创建这个变量?我早些时候尝试过这种方法,但似乎不起作用!嗯,你可以从我的回答中推断出来。我告诉过您将其与
if(userGuess==generateRandomNumber())
行中的变量进行比较。如果变量位于
generateRandomNumber
中,您将无法执行此操作,因为它在该行中不可见,因为它位于另一个方法中。我已经执行了此操作。但是,现在的问题似乎是,第一个方法生成了一个随机数,然后在创建变量时再次更改了该数?对不起,我只是不太懂这个概念。请在问题中发布您的尝试。完成,谢谢您的帮助!我应该用哪种方法创建这个变量?我早些时候尝试过这种方法,但似乎不起作用!嗯,你可以从我的回答中推断出来。我告诉过您将其与
if(userGuess==generateRandomNumber())
行中的变量进行比较。如果变量位于
generateRandomNumber
中,您将无法执行此操作,因为它在该行中不可见,因为它位于另一个方法中。我已经执行了此操作。但是,现在的问题似乎是,第一个方法生成了一个随机数,然后在创建变量时再次更改了该数?对不起,我只是不太懂这个概念。请在问题中发布您的尝试。完成,谢谢您的帮助!我应该用哪种方法创建这个变量?我早些时候尝试过这种方法,但似乎不起作用!好吧,你可以从