Моя программа запрашивает у пользователя число, а затем проверяет, находится ли число в диапазоне двух случайно сгенерированных чисел или вне диапазона. Предполагается, что переменная num - это предположение пользователя, но она по-прежнему равна 0. Я не уверен, связано ли это с num = 0 в main, что происходит потому, что я получаю «переменная не инициализирована» ошибка, если нет = 0.
Код:
public static int getValidGuess(Scanner get)
{
int num;
System.out.print("Guess a number: --> ");
num = get.nextInt();
return num;
} // getValidGuess end
public static boolean displayGuessResults(int start, int end, int num)
{
boolean result;
Random gen = new Random();
int n1 = gen.nextInt(99) + 1;
int n2 = gen.nextInt(99) + 1;
if (n1 < n2){
start = n1;
end = n2;
} //if end
else
{
start = n2;
end = n1;
} //else end
System.out.println("\nThe 2 random numbers are " + start + " and " + end);
System.out.println("User Guess is " + num);
if(num >= start && num <= end){
result = true;
System.out.println("Good Guess!");
}
else if(num < start || num > end){
result = false;
System.out.println("Outside Range.");
}
else{
result = false;
}
return result;
} // displayGuessResults end
public static void main(String[] args) {
// start code here
int start = 0, end = 0, num = 0;
Scanner scan = new Scanner(System.in);
String doAgain = "Yes";
while (doAgain.equalsIgnoreCase("YES")) {
// call method
getValidGuess(scan);
displayGuessResults(start, end, num);
System.out.print("\nEnter YES to repeat --> ");
doAgain = scan.next();
} //end while loop
} //main end