我写了一个简单的程序,接收几个输入,并进行未来的投资计算。
但是,出于某种原因,当我输入以下值时: 投资= 1 兴趣= 5 年= 1
我得到Your future value is 65.34496113081846
时应该是1.05。
import java.util.*;
public class futurevalue
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.println("This program will calculate your future investment value");
System.out.println("Enter investment amount: ");
double investment = sc.nextDouble();
System.out.println("Enter annual interest amount: ");
double interest = sc.nextDouble();
System.out.println("Enter number of years: ");
int year = sc.nextInt();
double futureValue = investment * (Math.pow(1 + interest, year*12));
System.out.println("Your future value is " + futureValue);
}
}
发现我的错误。我把兴趣分成了两次。
答案 0 :(得分:2)
你应该将你的兴趣除以100。
答案 1 :(得分:1)
如何输入利率?在Math.pow中添加1之前,你不应该将它除以100吗?
示例:每月利息= 1%,如果输入1,您的Math.pow将是Math.pow(1 + 1,年* 12),这将是不正确的。
答案 2 :(得分:0)
是的,您的主要错误不是除以100而是从百分比转换为比例,但您还有另一个错误:
如果您的APR为5%,那么您需要使用的公式来计算复利月度利息不是5%/12
,而是
(0.05+1)^(1/12)-1
然后该投资的回报最终成为:
1 * ( (0.05+1)^(1/12)-1 +1 )^(1 * 12) =
1 * ( (0.05+1)^(1/12) )^(12) =
1 * ( 0.05+1 ) = 1.05
准确。