我正在制作一个简单的测验程序。我需要显示我的正确和错误,这取决于用户的答案。我认为它在IF中。这就是为什么我无法通过它。当我运行它。我选择了正确的答案。它仍然显示错误!"并将其视为正确。然后改为不同的号码。它仍然显示错误!"。我使用复选框作为测验的多项选择。 这是我的代码:
if(C1.getState()) // if the user chooses the checkbox c1
{
outputlabel.setText("Correct\n");
CorrectAnswer++; // it will count one point per correct answer.
}else
outputlabel.setText("Wrong!\n");
if(C13.getState()) // if the user chooses the checkbox C13
{
outputlabel.setText("Correct\n");
CorrectAnswer++;
}else
outputlabel.setText("Wrong!\n");
if(C19.getState()) // if the user chooses the checkbox C19
{
outputlabel.setText("Correct\n");
CorrectAnswer++;
}else
outputlabel.setText("Wrong!\n");
if(C21.getState()) // if the user chooses the checkbox C21
{
outputlabel.setText("Correct\n");
CorrectAnswer++;
}else
outputlabel.setText("Wrong!\n");
if(C27.getState()) // if the user chooses the checkbox C27
{
outputlabel.setText("Correct\n");
CorrectAnswer++;
}else
outputlabel.setText("Wrong!\n");
CorrectLabel.setText("Correct Answers: "+CorrectAnswer);
score =(CorrectAnswer*100)/5; // average of the quiz
if (score>=75)
{
scorelabel.setText("Grade: "+score+ "% ");
}else{
scorelabel.setText("Grade: "+score+"%.");
repaint();}
}
}
答案 0 :(得分:2)
我不完全确定你在代码中尝试做什么。对于每个您正在检查它是否已设置,然后您正在设置outputlabel值。因此,如果选中 first 复选框,则会将outputlabel文本设置为“Correct”。如果其他复选框的任何 未,则它将简单地覆盖您之前执行的操作并将标签设置为“错误”。
也许你想为每个复选框分别输出标签?
答案 1 :(得分:0)
在检查所有正确答案的状态后,您应该有一个最终输出标签。并根据正确的答案计数,您可以设置最终的输出标签。