我正在關注一個我必須創建一個猜謎遊戲的mooc。我有點理解這個問題,但我不知道如何解決這個問題。創建一個猜謎遊戲
問題是,對於「循環」numberDrawn方法不是一個定義的整數。但我在放置「循環」的主要參數體中定義了它,所以「循環」怎麼看不到我已經定義了它。
import java.util.Random;
import java.util.Scanner;
public class GuessingNumberGame {
private static int drawNumber() {
return new Random().nextInt(101);
}
public static void main(String[] args) {
Scanner reader = new Scanner(System. in);
System.out.println("Guess a number: ");
int num = Integer.parseInt(reader.nextLine());
int numberDrawn = drawNumber();
if (numberDrawn > num) {
System.out.println("The number is greater");
loop();
} else if (numberDrawn < num) {
System.out.println("The number is lesser");
loop();
} else {
System.out.println("Congratulations, your guess is correct!");
}
}
public static void loop() {
Scanner reader = new Scanner(System. in);
System.out.println("Guess a number: ");
int num = Integer.parseInt(reader.nextLine());
if (numberDrawn > num) {
System.out.println("The number is greater");
loop();
} else if (numberDrawn < num) {
System.out.println("The number is lesser");
loop();
} else {
System.out.println("Congratulations, your guess is correct!");
}
}
}
請在發生問題時發佈確切的錯誤消息;解釋釋義可能有點困難。 – chrylis
錯誤:無法找到符號 如果(numberDrawn> NUM){ 符號:變量numberDrawn 位置:類GuessingNumberGame – Natantantan
^那是因爲你試圖訪問的變量在'main'方法從不同的方法。見藍冰的答案;這就是你應該如何去做的。你不需要遞歸循環函數。 – ujvl