Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 简单计算未显示正确的值_Java - Fatal编程技术网

Java 简单计算未显示正确的值

Java 简单计算未显示正确的值,java,Java,我编写了一个简单的程序,它接收多个输入,并进行未来的投资计算 但是,由于某些原因,当我输入以下值时: 投资=1 利息=5 年份=1 我得到您的未来值是65.34496113081846,而它应该是1.05 import java.util.*; public class futurevalue { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System

我编写了一个简单的程序,它接收多个输入,并进行未来的投资计算

但是,由于某些原因,当我输入以下值时: 投资=1 利息=5 年份=1

我得到
您的未来值是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);


  }
}

我发现了我的错误。我把利息分了两次。

你应该把利息除以100。

你应该把利息除以100。

利率是如何输入的?在Math.pow中添加1之前,是否应该将其除以100


示例:月利率=1%,如果您输入1,您的Math.pow将是Math.pow(1+1,year*12),这是不正确的。

如何输入利率?在Math.pow中添加1之前,是否应该将其除以100


示例:月利息=1%,如果您输入1,您的Math.pow将是Math.pow(1+1,year*12),这是不正确的。

是的,您的主要错误不是除以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

没错。

是的,您的主要错误不是除以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

没错。

你确定你的月利息不应该除以100吗?你的利息是500%。试试5%,或者0.05。该死,我真是个白痴。谢谢杰夫和戴斯特罗伊。你确定你的月利息不应该除以100吗?你的利息是500%。试试5%,或者0.05。该死,我真是个白痴。谢谢Jeff和dystroy。我仍然认为它不会给出1.05。复利。@MarkByers它确实给出(大约)1.05,但我同意你的观点,从APRI计算月利息的方法看起来是错误的,我仍然认为它不会给出1.05。复利。@MarkByers它确实给出(大约)1.05,但我同意你的观点,从四月开始计算月利息似乎是错误的