你的公式看起來不完全正確。從Exact_formula_for_monthly_payment的公式應該是
P= (L i)/(1- 1/(1+i)^n)
其中L爲貸款額,我是月息,和n週期數。在你的公式中
monthlyPayment = (loanAmount x monthlyInterestRate)/(1 – (1/(1 + monthlyInterestRate)numberOfYears x 12))
指數符號已被遺漏。我想你想
monthlyPayment = (loanAmount x monthlyInterestRate)/(1 – (1/(1 + monthlyInterestRate)^(numberOfYears x 12)))
在Java計算這個,你會使用負指數要
monthlyPayment = (loanAmount * monthlyInterestRate)/
(1 – (1/Math.pow(1 + monthlyInterestRate,numberOfYears * 12)));
這可以簡化爲
monthlyPayment = (loanAmount * monthlyInterestRate)/
(1 – Math.pow(1 + monthlyInterestRate,-numberOfYears * 12));
。當你複製你的功課問題
一些冪丟失。 – Henry
請你重構正確質疑bcoz Math.pow的結果(A,B)是^ B實施例Math.pow(2,2)。將2^2 = 4,其中一個^ b表示用b動作的凸起 –