协助我的代码中的问题返回值

时间:2014-10-07 22:35:28

标签: java format rate

首先,我只是想在正确的方向上轻推,所以请不要直接回答。 我的代码运行正常或者我想,每当我运行带有测试值的代码时,我都会得到 每月付款金额的疯狂价值。

我正在使用这些给我的值: 量; $ 500,000.00 利息:5.6% 年:30

我得到2,000,000左右作为回答任何帮助将不胜感激!

主要是下面的部分。

    public static double getInterestAmount(Scanner sc, double loanAmt, double interestRate, int years) {
        int months = years * 12;

        double monthlyPayment = loanAmt * interestRate / (1 - 1/Math.pow(1 + interestRate, months));
        return monthlyPayment;
    }
}

2 个答案:

答案 0 :(得分:0)

这更像是一个猜测,但如何在这个表达式中使用更多的括号:

double monthlyPayment =
 loanAmt * interestRate/
 (1 - 1/Math.pow(1 + interestRate, months));

确保按所需顺序计算

答案 1 :(得分:0)

两件事:

  1. 您没有将利率(按百分比输入)除以100以将其转换为小数。除以100
  2. 您需要将利率除以12以获得公式中的每月费率。
  3. 编辑(你说没有彻底的回答)

    通过对代码的这些更改,我得到了这个输出:

    1148.15796128275
    

    (您可能需要根据需要格式化此数字。)