我对Java很陌生,我的if语句似乎没有为变量赋值。我真的很感谢您的帮助。输出始终为1000

DecimalFormat df = new DecimalFormat("#.00");

    // Defines amount and bonus
    double amount;
    double bonus;

    bonus = 0;

    amount = Double.parseDouble(txtAmountEarnt.getText());

    if (amount <= 2000) {
        bonus = 0;
    }
    if (amount >2499 && amount <5000) {
        bonus = 500;
    }
    if (5000 < amount); {
        bonus = 1000;
    }

    System.out.println(bonus);
    lblBonusAwarded.setText("Bonus awarded for earning $" + (df.format(amount)) + " = $" + (df.format(bonus)));

最佳答案

最后一个if语句后有一个分号,这意味着无论如何奖金都会设置为1000。

删除它,一切都很好。

07-24 13:55