[英]Variable value playing up in 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)));
最后一个if语句后有一个分号,这意味着无论如何奖金都会设置为1000。
删除它,一切都很好。
您当前的代码可以简化为一个if
块(带有嵌套的if-else
),您已经将bonus
初始化为0
,因此您无需再次明确地执行它。
// Defines amount and bonus
double amount = Double.parseDouble(txtAmountEarnt.getText());
double bonus = 0;
if (amount > 2499) {
if (amount > 5000) {
bonus = 1000;
} else {
bonus = 500;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.