gpt4 book ai didi

java - 每月付款计算器返回错误的付款

转载 作者:行者123 更新时间:2023-12-01 11:56:06 25 4
gpt4 key购买 nike

我应该用给定的公式用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))); // 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;
}
}

最佳答案

如果我理解你的公式正确的话,它应该是:

m = loanAmt * interest - Math.pow(1 + interest, -months);

关于java - 每月付款计算器返回错误的付款,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28440506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com