我正在尝试创建一个测验的摇摆应用程序。我需要jLabel更改按钮单击,但当我单击按钮时,应用程序会锁定。有人能指出我正确的方向吗?
我的按钮点击代码如下:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String[] questions = {"test0","test1","test2","test3","test4","test5","test6"};
String[] answers = {"","","","","","",""};
int i = 0;
do {
jLabel2.setText(questions[i]);
index.setText(String.valueOf(i));
if (txtAnswer.getText().toLowerCase().equals(answers[i].toLowerCase())) {
i++;
jLabel2.setText(questions[i]);
}
else {
add(lblWrong);
}
}
while(i < 7);
}
我收到一条警告,表示没有使用evt参数,这可能是个问题吗?
谢谢
答案 0 :(得分:1)
在你的循环的else
条件下,你根本不向i
添加1 - 因此你可能最终会在它永远不会增加的情况下结束,因此它将是无限的循环(锁定你的程序。)
答案 1 :(得分:1)
你不想要do while循环。它会按下按钮按下您的方法,就像您得到错误的答案一样,您继续输入其他内容并且无法离开,停止应用程序的工作。用if语句替换它,检查i&lt; 7。