我想用一個給定的公式製作一個支付計算器的java。 我使用的公式是M = P * i/1-(1 + i)^ - n 其中P是貸款本金(即借入的金額) i是月利率(annual_interest_rate/12;表示爲十進制) N是時間(貸款總年度中的每月支付數量;即年* 12) 下面的代碼是我獲取每月支付的函數。 如果我在6年的貸款額度200我得到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)));
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' – Aradmey 2015-02-10 20:05:25