1

当我输入 1000 投资金额 4.25 月利率和 1 年时,为什么我得到的结果是 4.384414858452464E11 而不是预期的 1043.34?

import java.util.Scanner;

public class FinancialApplicationFutureInvestment_13 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Enter investment amount: ");
        int investmentAmount = input.nextInt();
        System.out.println("Enter monthly interest rate: ");
        double monthlyInterestRate = input.nextDouble();
        System.out.println("Enter number of years");
        int numOfYears = input.nextInt();

        double futureInvestmentValue = investmentAmount *
            (Math.pow(1 + monthlyInterestRate, numOfYears * 12));
        System.out.println("Accumulated value is: " + futureInvestmentValue);

        double test = Math.pow(1 + monthlyInterestRate, numOfYears * 12);
        System.out.println(test);
    }
}
4

5 回答 5

5

月利率可能需要输入为 0.0425

于 2012-07-06T09:09:33.443 回答
2

1 + monthlyInterestRate

monthlyInterestRate一个原始因素,还是以百分比表示?

尝试除以一百。

于 2012-07-06T09:07:39.613 回答
2

公式是

A = P(1+r/100)^n

所以应该是

investmentAmount * (Math.pow(1 + (monthlyInterestRate/100), numOfYears * 12));
于 2012-07-06T09:10:43.900 回答
2

好吧,您计算 1+4.25 (5.25) 作为月利率,而不是 1+(4.25/100) 。

于 2012-07-06T09:11:16.487 回答
1

您应该在 System.out.println (double to int) -- (int)(futureInvestmentValue * 100) / 100.0 中使用强制转换

于 2013-04-02T10:49:11.760 回答