Java 保持方法之间的随机数相同
在下面的代码中,第一个方法(GeneratorDomainNumber)生成一个介于1和10之间的随机no。第二种方法(guessRandomNumber)允许用户猜测数字。我遇到的问题是,当用户猜错数字时,它会生成另一个随机数,而不是最初的随机数。因此,用户可以猜测,即使输入每一个可能的数字,也永远不会得到正确的答案。谁能告诉我如何改变这一点 第一种方法(生成编号): 第二种方法(猜测数字): 尝试:Java 保持方法之间的随机数相同,java,loops,methods,random,Java,Loops,Methods,Random,在下面的代码中,第一个方法(GeneratorDomainNumber)生成一个介于1和10之间的随机no。第二种方法(guessRandomNumber)允许用户猜测数字。我遇到的问题是,当用户猜错数字时,它会生成另一个随机数,而不是最初的随机数。因此,用户可以猜测,即使输入每一个可能的数字,也永远不会得到正确的答案。谁能告诉我如何改变这一点 第一种方法(生成编号): 第二种方法(猜测数字): 尝试: public static void 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
中,您将无法执行此操作,因为它在该行中不可见,因为它位于另一个方法中。我已经执行了此操作。但是,现在的问题似乎是,第一个方法生成了一个随机数,然后在创建变量时再次更改了该数?对不起,我只是不太懂这个概念。请在问题中发布您的尝试。完成,谢谢您的帮助!我应该用哪种方法创建这个变量?我早些时候尝试过这种方法,但似乎不起作用!好吧,你可以从