gpt4 book ai didi

java - 信用卡还款月数函数返回 NaN 或 -0.0

转载 作者:行者123 更新时间:2023-11-30 02:14:40 25 4
gpt4 key购买 nike

这来自《程序员练习》一书,该书要求:“编写一个程序,帮助您确定还清信用卡余额需要多少个月。该程序应要求用户输入信用卡余额和卡的年利率。然后,该程序应返回需要的月数。”

并给出了要实现的公式。

enter image description here

不确定我的问题出在哪里,但我不断返回 NaN 或 -0.0。

enter image description here

提前致谢!

public static double timeToPayOff(double APR, double balance, double payment) {
double months;
APR /= 36500;

months = (-1/30) * (Math.log(1 + (balance/payment)) * ( 1 - (Math.pow((1 + APR), 30)))
/Math.log(1 + APR));

return months;
}

最佳答案

你的问题是因为你尝试计算不同的类型:

如果你想用 double 计算,所有变量都需要是 double 的,所以改变:

months = (-1.0/30.0) 

对于整数,这将返回 0

<小时/>

您的公式的正确性也存在问题。您已将分数的上半部分写为

Math.log(1 + (balance/payment)) * (1 - (Math.pow((1 + APR), 30)))

实际上应该是这样

Math.log(1 + ((balance/payment) * (1 - (Math.pow((1 + APR), 30)))))

关于java - 信用卡还款月数函数返回 NaN 或 -0.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48984561/

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