涉及负指数方程式的汽车支付应用程序
Car Payment App involving an equation with negative exponents
我必须在 java 中创建一个汽车支付应用程序,提示用户欠本金 (P)、利率 (r) 和每月支付的次数 (m) 必须计算每月汽车支付使用这个公式:
P(r/12)/(1-(1+r/12)^-m)
这是我目前所拥有的...
import java.util.Scanner;
import java.lang.Math; //importing Scanner, Math, and NumberFormat classes
import java.text.NumberFormat;
class Exercise13{
public static void main(String[] args){
Scanner input=new Scanner(System.in); //creating Scanner
double principal, rate, numberOfMonths, payment; //declaring varibles
System.out.print("Principal: ");
principal=input.nextDouble();
System.out.print("Interest Rate: "); //requesting and storing user input
rate=input.nextDouble();
System.out.print("Number of monthly payments: ");
numberOfMonths=input.nextDouble();
input.close(); //closing Scanner
payment=principal*(rate/12)/(1-(1+rate/12*)Math.pow(payment, -numberOfMonths)); //calculating monthly payment. Error in this line
NumberFormat money =NumberFormat.getCurrencyInstance(); //Formatting output
System.out.println("The monthly payment is:" (money.format(payment));
}
}
编译不通过,我真的很沮丧,因为我花了很长时间都弄不明白。
感谢任何帮助
我认为如果你把你的公式分成小块会很好
double rate1 = rate / 12 / 100; // monthly interest rate
double numberOfMonths = 12 * Y; // number of months
double payment = (Principal * rate1) / (1 - Math.pow(1+rate1, -numberOfMonths));
希望对你有所帮助
公式
你有什么,以及错误:
payment=principal*(rate/12)/(1-(1+rate/12*)Math.pow(payment, -numberOfMonths));
- 二元运算符
*
在表达式 (1+rate/12*)
中没有第二个参数
- 未初始化的
payment
变量用作 Math.pow()
的第一个参数
- 需要的公式
P(r/12)/(1-(1+r/12)^-m)
上面的语句没有实现
P(r/12)/(1-(1+r/12)^-m)
应该是什么:
payment = principal * rate/12 / (1 - Math.pow(1 + rate/12, -numberOfMonths));
输出
你有什么,以及错误:
System.out.println("The monthly payment is:" (money.format(payment));
- 文字字符串和格式化付款之间缺少字符串连接运算符
+
- 不清楚利率是被解释为百分比还是直接小数
为了清楚起见,它应该是什么:
System.out.println("Rate: " + NumberFormat.getPercentInstance().format(rate));
System.out.println("Payment: " + NumberFormat.getCurrencyInstance().format(payment));
我必须在 java 中创建一个汽车支付应用程序,提示用户欠本金 (P)、利率 (r) 和每月支付的次数 (m) 必须计算每月汽车支付使用这个公式:
P(r/12)/(1-(1+r/12)^-m)
这是我目前所拥有的...
import java.util.Scanner;
import java.lang.Math; //importing Scanner, Math, and NumberFormat classes
import java.text.NumberFormat;
class Exercise13{
public static void main(String[] args){
Scanner input=new Scanner(System.in); //creating Scanner
double principal, rate, numberOfMonths, payment; //declaring varibles
System.out.print("Principal: ");
principal=input.nextDouble();
System.out.print("Interest Rate: "); //requesting and storing user input
rate=input.nextDouble();
System.out.print("Number of monthly payments: ");
numberOfMonths=input.nextDouble();
input.close(); //closing Scanner
payment=principal*(rate/12)/(1-(1+rate/12*)Math.pow(payment, -numberOfMonths)); //calculating monthly payment. Error in this line
NumberFormat money =NumberFormat.getCurrencyInstance(); //Formatting output
System.out.println("The monthly payment is:" (money.format(payment));
}
}
编译不通过,我真的很沮丧,因为我花了很长时间都弄不明白。
感谢任何帮助
我认为如果你把你的公式分成小块会很好
double rate1 = rate / 12 / 100; // monthly interest rate
double numberOfMonths = 12 * Y; // number of months
double payment = (Principal * rate1) / (1 - Math.pow(1+rate1, -numberOfMonths));
希望对你有所帮助
公式
你有什么,以及错误:
payment=principal*(rate/12)/(1-(1+rate/12*)Math.pow(payment, -numberOfMonths));
- 二元运算符
*
在表达式(1+rate/12*)
中没有第二个参数
- 未初始化的
payment
变量用作Math.pow()
的第一个参数
- 需要的公式
P(r/12)/(1-(1+r/12)^-m)
上面的语句没有实现
P(r/12)/(1-(1+r/12)^-m)
应该是什么:
payment = principal * rate/12 / (1 - Math.pow(1 + rate/12, -numberOfMonths));
输出
你有什么,以及错误:
System.out.println("The monthly payment is:" (money.format(payment));
- 文字字符串和格式化付款之间缺少字符串连接运算符
+
- 不清楚利率是被解释为百分比还是直接小数
为了清楚起见,它应该是什么:
System.out.println("Rate: " + NumberFormat.getPercentInstance().format(rate));
System.out.println("Payment: " + NumberFormat.getCurrencyInstance().format(payment));