- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这就是我得到的。不同账户类型(储蓄、当前和固定)的 Customer 类对象的 linkedList。每个 Customer 对象都有一个交易 LinkedList(另一个类)作为属性。可以进行 2 种类型的交易,即借记(提款)或贷记(存款)。给定:一个储蓄账户可以变为负数,而其他两个账户则不能。不允许从固定账户进行借记交易(不允许提款)。
如果账户余额为正,则利率为 0.0003,而如果账户余额为负(仅适用于储蓄账户),则利率为 -0.002。利息计算如下:
对于正利息,它基于拥有的资金过去 24 小时(即从午夜到午夜)一直在帐户中。例如,如果您在 0 小时有 100 美元,但您在 1 小时提取了 50 美元并存回了 50 美元在第 2 小时,您的帐户中将显示 24 小时内仅有 50 美元当天(24 小时)。 24 点时,您账户中的资金将为 100 美元加上每日的利息按$50计算。
对于负利息,是根据您所欠的最大负金额的总和那天银行。如果你从银行借钱,他们会向你收取利息即使你1分钟后还钱。例如,如果您的储蓄账户有在 0 小时 100 美元,但您在 22 小时提取 200 美元,然后在 1 小时存回 1000 美元23. 今天午夜之前,您将不会获得任何正利息,但将被收取今天从银行借 100 美元为负利息。
对于初始金额为 566.00 美元的储蓄账户,该账户的交易如下:借方:50(日期:2008年9月11日),借方:500(2008年9月15日);信用:200(22-09-2008);借方:500(2008年9月23日)。
示例计算如下:
(((566*1.0003^10-50)*1.0003^4-500)*1.0003^8+200-500)*1.002^8 ~= 286.17。
我得到了一些 1377.68 数量级的数字,这显然不匹配。
这是我的储蓄帐户,但我很确定它是错误的。我的问题是如何在循环每个客户的交易时计算利息。我的计算是错误的。所以如果有人能帮助我修复逻辑,我将不胜感激
public void update(double rate){ // Savings account interest calc
Transactions ctr = new Transactions();
Node<Transactions> counter = new Node<Transactions>(ctr);
counter=this.trans.head;
int i=0;
double negRate = -0.002;
double posRate = 0.0003;
double updatedBal = this.get_balance();
while(counter!=null){
if (updatedBal >0){
if(trans.getItem(i).AccType.equals("Crebit")){
double exponent = Double.parseDouble(trans.getItem(i).get_Date().substring(0, 2));
updatedBal= (updatedBal*(Math.pow((1+ posRate),exponent-1))+trans.getItem(i).get_Amount());
}
else if(trans.getItem(i).AccType.equals("Debit")){
double exponent = Double.parseDouble(trans.getItem(i).get_Date().substring(0, 2));
updatedBal= (updatedBal*(Math.pow((1+ posRate),exponent-1))-trans.getItem(i).get_Amount());
}
}
else
{
if(trans.getItem(i).AccType.equals("Crebit")){
double exponent = Double.parseDouble(trans.getItem(i).get_Date().substring(0, 2));
updatedBal= (updatedBal*(Math.pow((1+ negRate),exponent-1))+trans.getItem(i).get_Amount());
}
else if(trans.getItem(i).AccType.equals("Debit")){
double exponent = Double.parseDouble(trans.getItem(i).get_Date().substring(0, 2));
updatedBal= (updatedBal*(Math.pow((1+ negRate),exponent-1))-trans.getItem(i).get_Amount());
}
}
counter=counter.next;
}
this.set_balance(updatedBal);
}
最佳答案
您的代码有两个地方 trans.getItem(i).AccType.equals("Crebit")
。想必这应该是Credit。如果交易项目的 AccType 字段的值使用正确的拼写,那么您的 if
block 在计算利息时将不会“看到”信用交易,这可能会导致错误的答案。
关于java - 利息计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5477716/
晚上好!我正在自学编码。现在,我正在制作一个 JavaScript 贷款计算器,但遇到了障碍。如果我输入 0% 的利息,它不会在我的输出文本框中显示任何内容。不过,其他一切都运行良好。任何帮助,将不胜
我是一名优秀的程序员,十分优秀!