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"문 집합에 오류가 있습니다. 이전 "if"문 "guess"변수에 사용자 입력에 종속 된 값을 제공합니다. 내가 도대체 뭘 잘못하고있는 겁니까? 당신이 당신의 코드를 보면 guess
가 초기화되지 않습니다되어 if...else if...else if
를 통해 경로가처럼"if"문에서 로컬 변수 오류 (Java)
사례 중 하나에 할당 된 경우에만 값이 할당됩니다. 아무도 수행하지 않으면 어떻게됩니까? else else의 마지막에 else를 처리해야합니다. –
마지막 else else if를 else로 바꾸면 작동합니다. –
또는 그냥 기본 값으로 시작하여 .... –