我知道这可能是一个愚蠢的问题,但是几天前我才开始学习,我只是在弄乱,我不确定为什么这行不通,有人可以向我解释一下吗?
我有一个带有按钮的简单窗口,它将点击数加+1,然后单击几下便将它们相乘(该部分起作用),但是当它变为“ else if”并计数为* 4时,它什么也没做>
@Override
public void actionPerformed(ActionEvent e) {
count++;
label.setText("Number of clicks: " + count);
if (count > 5){
label2.setText("Turbo mode activate");
label.setText("Number of turbo clicks: " + count*2);
} else if (count > 20){
label2.setText("SuperTurbo mode activated");
label.setText("Number of superturbo clicks: " +count*4);
}
}
}
谢谢您的回答
答案 0 :(得分:1)
因为即使计数达到100,它也大于5,然后始终执行第一个代码块,否则就永远没有机会。
在您的情况下,您可以说if (count <= 20)
然后执行第一个代码块,或者else { .... }
执行第二个代码块。
答案 1 :(得分:0)
条件按顺序评估。 count > 5
在count > 20
之前始终为真:大于20的值也大于5。
您可以反转条件以在以后检查更一般的条件,在更早的时候检查更具体的条件。
if (count > 20) {}
else if (count > 5) {}