Java储蓄账户程序调用静态方法设置利率不生效如何解决
问题核心修改点
1. 修正setInterestRate静态方法的赋值逻辑
原代码中该方法的赋值方向写反,导致输入的利率没有成功赋值给类静态变量interestRate,修改如下:
// 原错误代码 public static void setInterestRate(double newRate){ newRate = interestRate; } // 修改后代码 public static void setInterestRate(double newRate){ interestRate = newRate; }
2. 补充addInterest()方法的调用
你定义的利息计算方法addInterest()全程没有被调用,导致利息永远不会被加到余额中。根据你的预期输出逻辑,在完成存款/取款操作后调用该方法计算利息即可:
在存款、取款操作完成后添加一行调用代码:
savings.addInterest();
按照你给出的示例数值,第一次存500、第二次存1000的情况下,总存款为1500,调用addInterest()后乘以0.1的利率,总余额就是1500 + 150 = 1650,和预期输出完全匹配。
可选优化点
- 原
showBalance方法调用了getBalance()但没有返回值也没有打印逻辑,如果你需要该方法生效,可修改为打印余额或者返回余额值。 - 存款方法里的赋值语句
this.balance = balance += amount;可以简化为this.balance += amount;,逻辑完全一致且更简洁。
内容的提问来源于stack exchange,提问作者Kuuro
相关产品推荐
相关产品推荐

