2012-04-24 4 views
0

Я написал простую программу, которая получает несколько входных данных и делает расчет будущих инвестиций.Простой расчет не отображает правильное значение

Однако, по какой-то причине, когда я введите следующие значения: инвестиции = 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); 


    } 
} 

Обнаружена моя ошибка. Я разделил свой интерес дважды.

+1

Вы уверены, что ваши ежемесячные проценты не должны быть разделены на 100? –

+2

Ваш интерес составляет 500%. Попробуйте 5% или 0,05. –

+0

Черт, я такой идиот. Спасибо Джеффу и дистройте. – Huy

ответ

2

Вы должны разделить ваш интерес на 100.

+0

Я все еще думаю, что это не даст 1.05. Составной интерес. –

+0

@MarkByers Это дает (приблизительно) 1.05, но я согласен с вами в том, что это выглядит неправильно, чтобы рассчитать месячный интерес от APR – trutheality

1

Как процентная ставка вводимой? Если вы не разделите его на 100, прежде чем добавить 1 внутри Math.pow?

Пример: месячный процент = 1%, если вы введете 1, ваш Math.pow будет Math.pow (1 + 1, year * 12), который был бы неправильным.

0

Да, ваша главная ошибка не разделив на 100, чтобы преобразовать из процентов в пропорции, но у вас есть другая ошибка:

Если у вас есть АПР 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 

точно.

Смежные вопросы