在if语句中播放变量值

时间:2017-03-16 23:29:56

标签: java if-statement

我是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)));

2 个答案:

答案 0 :(得分:3)

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

删除它,一切都应该没问题。

答案 1 :(得分:1)

您当前的代码可以简化为一个if块(使用嵌套的if-else),您已经初始化bonus0 - 所以你不要#39; t需要再次明确地再做一次。

// Defines amount and bonus
double amount = Double.parseDouble(txtAmountEarnt.getText());
double bonus = 0;
if (amount > 2499) {
    if (amount > 5000) {
        bonus = 1000;
    } else {
        bonus = 500;
    } 
}