gpt4 book ai didi

java - 尝试将这个公式转换为Java中的算术表达式

转载 作者:行者123 更新时间:2023-11-30 06:01:23 26 4
gpt4 key购买 nike

formula

我正在尝试以 myMonthlyPayment、myAnnualInterestRate 和 myPrincipal 的形式获取用户输入,以便使用我在本文中附加的公式来计算还清债务所需的月数。我现在在 Eclipse 中的公式是:

monthsNeeded = ((Math.log(myMonthlyPayment) - Math.log(myMonthlyPayment) 
- ((myAnnualInterestRate / 1200.0) * myPrincipal))
/ ((Math.log(myAnnualInterestRate) / 1200.0) + 1.0));

使用我正在使用的输入,我应该得到 79 个月的输出,但我得到的是 -62。我知道这个公式是正确的,我几乎肯定我在将它翻译成 Java 的过程中犯了一个错误。如果有人能指出,将不胜感激!

最佳答案

所以我已经修复了它,并提供了示例输入和输出。我并没有花太多精力让这段代码变得漂亮,但你可以看到,即使使用方法提取将其分成 3 部分(尽管我不知道如何命名它们,缺乏领域知识),也使代码更容易理解。

public class Example {
public static void main(String[] args) {
double myMonthlyPayment = 2000;
double myAnnualInterestRate = 5;
double myPrincipal = 200000;
System.out.println(a(myMonthlyPayment));
System.out.println(b(myPrincipal, myAnnualInterestRate, myMonthlyPayment));
System.out.println(c(myAnnualInterestRate));
double monthsNeeded = (a(myMonthlyPayment) - b(myPrincipal, myAnnualInterestRate, myMonthlyPayment))
/ c(myAnnualInterestRate);
System.out.println(monthsNeeded);
}

private static double c(double myAnnualInterestRate) {
return Math.log((myAnnualInterestRate / 1200.0) + 1);
}

private static double b(double myPrinicipal, double myAnnualInterestRate, double myMonthlyPayment) {
return Math.log(myMonthlyPayment - (myAnnualInterestRate / 1200.0) * myPrinicipal);
}

private static double a(double myMonthlyPayment) {
return Math.log(myMonthlyPayment);
}
}

关于java - 尝试将这个公式转换为Java中的算术表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52230488/

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