其他语句"令牌上的语法错误"

时间:2015-06-09 01:27:02

标签: java if-statement

我写了一个允许我设置按钮来增加或减少数字的类。实现监听器的代码如下,但由于某种原因,它不喜欢我的else语句:

private class ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent event)
{
    if (event.getSource() == up)
        count++;
        label.setText("Value: " + count);
    else
        count--;
        label.setText("Value: " + count);
}

1 个答案:

答案 0 :(得分:3)

没有大括号的Java if仅适用于一行。所以你当前的代码相当于

if (event.getSource() == up) {
    count++;
}
label.setText("Value: " + count);
else {
    count--;
}
label.setText("Value: " + count);

使用大括号。

if (event.getSource() == up) {
    count++;
    label.setText("Value: " + count);
} else {
    count--;
    label.setText("Value: " + count);
}

if (event.getSource() == up) 
    count++;
else
    count--;
label.setText("Value: " + count);

Conditonal Operator ? :(又名ternary

count += (event.getSource() == up) ? 1 : -1;
label.setText("Value: " + count);