2013-10-03 5 views
0

Я пытаюсь решить уравнение, которое нужно решить в течение оставшегося времени кредита, на основе определенной суммы платежа (выше обычной суммы).Использование логарифмов

Уравнение:

nRemaining = ((-log(1-(interestRate/12) * value2/value3))/(log (1+ (interestRate/12)))); 

Теперь, очевидно, это не работает, потому что я не уверен, как входные логарифмов.

+1

BE специфический. Что вы пробовали? – Mohayemin

ответ

4

Ваш код будет работать нормально, при условии соблюдении нескольких условий:

  • Если есть использовать log таким образом, место это утверждение выше своего класса:

    import static java.lang.Math.log; 
    

    В противном случае , используйте Math.log() везде, где вы видите log.

    Технически вам не нужно ничего импортировать в java.lang, но это известно как статический импорт - что-то, что нужно делать только по случаю, и позволяет вам писать ваше заявление намного чище.

  • Убедитесь, что все Ваших значений имеют тип double. В противном случае вы получите целочисленное деление, которое может привести к NaN по какой-то необъяснимой причине.

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