【发布时间】:2015-02-10 19:48:02
【问题描述】:
我应该用给定的公式在 java 中制作一个每月付款计算器。 我使用的公式是
M = P * i/ 1 - (1+i)^-n
在哪里
- P 是贷款本金(即借款金额)
- i 是月利率(annual_interest_rate / 12;以小数表示)
- N 是时间(贷款总年数中的每月付款次数;即年 * 12)
下面的代码是我尝试获得每月付款的功能。
但如果我以 200 的贷款金额放入 6 年,使用公式我得到 140。 我很困惑为什么我会得到这个数字。任何帮助将不胜感激
public static int calMonthlyPay(double loanAmt, int y) {
double m = 0.0, interest = 0.0, annualIRate = 0.0;
double months = 0.0;
months = y * 12;
annualIRate = getAnnualIRate(y);
interest = annualIRate / 12;
System.out.println(interest);
System.out.println(months);
System.out.println(loanAmt);
System.out.println(y);
m = (loanAmt * (interest - Math.pow((1 + interest), -months))); // This is my formula calculation
System.out.println(m);
return 0;
}
private static double getAnnualIRate(int y) {
switch (y) {
case 2:
return 5.7;
case 3:
return 6.2;
case 4:
return 6.8;
case 5:
return 7.5;
case 6:
return 8.4;
default:
return 8.4;
}
}
【问题讨论】:
-
为什么要除以1?
P * i/ 1
标签: java