嗨,大家好我正在寫一個數學測驗計劃作爲一個學習練習,我不能得到這個'響應'變量,以後在方法中被識別。具體來說,'* response'變量與* s的任何一方都不會鏈接到之前聲明的響應變量。我是編程新手,非常確定我正在犯一個基本錯誤,但是我不能解決它,如果有人能幫助我,我會很感激。謝謝!如何在該方法中稍後識別此變量?
import acm.util.*;
import acm.program.*;
public class MathsQuiz extends ConsoleProgram{
public void run(){
println("This program gives atudents a series of maths questions");
askQuestions();
}
private void askQuestions(){
for (int i = 0; i < NUMBER_OF_QS; i++){
askQ();
}
}
private void askQ(){
int answer = rgen.nextInt(0,20);
int number1 = rgen.nextInt(0,20);
int number2 = answer - number1;
if (number2 > 0){
int response = readInt("What is " + number1 + "+" + number2 + "?");
}else {
int response = readInt("What is " + number1 + " " + number2 + "?");
}
if (**response** == answer){
println("Correct!");
}else{
println("Incorrect");
}
}
private RandomGenerator rgen = RandomGenerator.getInstance();
int NUMBER_OF_QS = 5;
int RES = 0;
}
http://www.java2s.com/Tutorial/Java/ 0020__Language/VariableScope.htm – kfis
響應僅在您聲明的塊中有作用域。將它的聲明移動到外部塊並且事情將起作用。注意只聲明一次,否則你會隱藏外部聲明。 – DaveRlz
總體意義。感謝所有回答的人! –