如何解决在 GUI Java 中遍历数组
我正在做一份有问题和书面答案的问卷。 我需要在添加答案时按主按钮,告诉我它是否正确并向我展示数组的另一个问题,直到数组完成。这里我上传了整个代码。
mainbutton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
for(int i=0;i<question;i++) {
if(answer.getText()==(option[i])) {
message.setText("is correct");
corrects++;
}
else {
message.setText("incorrect");
}
};
解决方法
您的想法是正确的,但您需要一次处理一个问题,而不是在 ActionListener 中一次处理所有问题。
解决此问题的一种方法是在动作侦听器之外跟踪问题,在此示例中,我们使用 int questionCounter = 0;
来跟踪当前问题,然后我们可以删除 for
循环并一次处理一个问题。这是一个简单的示例,说明它如何使用您的代码工作,请注意我们如何重置字段并在每次回答上一个问题时添加下一个问题。
//Use a variable outside of the action listener to keep track of the current question:
int questionCounter = 0;
//Show first question in the text area:
area.setText(question[questionCounter]);
mainbutton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if(answer.getText().equals(option[questionCounter])) {
message.setText("The previous answer was correct");
corrects++;
//Update the total each time you get one correct
correct_answers.setText("correct answers: "+corrects);
}
else {
message.setText("The previous answer was incorrect");
}
//Increment for the next question
questionCounter++;
//Check if there is another question,then show it
if (questionCounter < question.length){
answer.setText("");
area.setText(question[questionCounter]);
}
//Show the overall results if there are no more answers to check
else{
area.setText("Quiz complete,you got " + corrects + " out of " + question.length + " correct.");
}
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。