这就是我得到的。不同账户类型(储蓄,当前和固定)的客户类别的对象的链接列表。每个Customer对象都有一个交易LinkedList(另一个类)作为属性。可以进行两种类型的交易,即借记(提款)或贷记(存款)。鉴于:储蓄账户可能会变为负数,而其他两个账户无法储蓄。不允许从固定账户进行借记交易(不提款)。利息计算
如果账户余额为正,那么利率为0.0003,而如果账户余额为负(只可用于储蓄账户),则利率为-0.002。利息计算如下:
为了正面利益,它基于 在过去24小时(即从午夜到午夜)的账户中的金额。例如,如果 您在小时0有100美元,但您在第1小时已提取50美元,并在第2小时存回$ 50 ,那么您将被视为只有50美元在当天的末尾 停留在您的帐户中24小时小时24)。在第24小时,您帐户中的金额将为100美元加上根据50美元计算的每日 利息。
对于负利率,它基于您当天银行所欠的最大负值货币的总和。如果您向银行借钱,即使您在1分钟后退还货款,他们也会向您收取利息 。例如,如果您的储蓄帐户在0小时有 $ 100,但您在小时22提款200美元,然后在 小时存款1000美元。到今天午夜您将不会获得任何正利益,但将收取 负数今天向银行借100美元的利息。
对于最初为$ 566.00的储蓄账户和该账户的交易如下: 借方:50(日期:11-09-2008),借方:500(15-09-2008);信用:200(22-09-2008);借方:500(23-09-2008)。
样品计算被给定为:
(((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);
}
你的问题是什么?我预测如果你不纠正这个问题,它会很快关闭。请记住,我们不是来做你的家庭作业/工作。告诉我们你已经做了一些努力,并明确指出了难以克服的编程挑战。 – I82Much 2011-03-29 19:20:01
你的问题是什么? – 2011-03-29 19:20:52
啊对不起,我错误地发帖子的问题。 – dawnoflife 2011-03-29 19:22:22