【发布时间】:2017-10-09 08:46:51
【问题描述】:
我正在制作一个测验程序,它会询问用户简单的数学问题、接收答案、计算用户的分数等等......
我收到一个错误,因为我在 actionListener 中使用了一个变量(在本例中为 x):
for(x = 0;x < total;x++){
System.out.print((x+1)+". ");
questionLabel.setText(number1" + "+ number2);
answerButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
int returnedAns = Integer.parseInt(answerTextField.getText());
if(returnedAns == answerToTheQuestion){
score++;
System.out.println("correct");
question[x].result = true;
}else{
System.out.println("wrong");
question[x].result = false;
}
try{
Thread.sleep(500);
}catch(Exception e){}
}
});
}
当我运行我的代码时,它会突出显示 int x 并说“从内部 clas 引用的局部变量必须是最终的或有效的最终”。
请帮帮我,我真的不知道该怎么办。
我无法将其标记为最终版本,因为我需要能够更改它以使 for 循环正常工作...
【问题讨论】:
-
制作变量
final:) -
但问题是我需要改变它....它的循环变量
标签: java swing arguments jbutton actionlistener