import java.util.Scanner;
import java.util.Random;
import static java.lang.System.out;
class TestingStuf {
enum tooWhat {tooHigh, tooLow, justRight};
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
Random myRandom = new Random();
tooWhat guess;
out.println("Pick a number between 1 and 10.");
int userGuess = keyboard.nextInt();
int randomNumber = myRandom.nextInt(10) + 1;
if (userGuess < randomNumber) {
guess = tooWhat.tooLow;
}else if (userGuess > randomNumber) {
guess = tooWhat.tooHigh;
}else if (userGuess == randomNumber) {
guess = tooWhat.justRight;
}
out.println("Your guess is:");
if (guess == tooWhat.tooLow) {
out.println("Too low.");
}else if (guess == tooWhat.tooHigh) {
out.println("Too high.");
}else if (guess == tooWhat.justRight) {
out.println("Correct!");
}
keyboard.close();
}
}
В моем коде я есть ошибка во втором наборе «если» заявления, что говорит «локальная переменная догадка не может быть инициализирован», даже если в предыдущий оператор «if» Я даю переменной «guess» значение, зависящее от ввода пользователя. Что я делаю не так?Локальная переменная ошибка в «если» заявление (Java)
ему присваивается только значение, если один из случаев присваивает ему один ... Что делать, если никто из них не делает? Вам нужно будет обработать это в другом в конце if else –
Заменить последнее 'else if' на' else', и он будет работать. –
Или даже просто присвойте ему значение по умолчанию, чтобы начать с ... –