如何正确使用Math.log?

时间:2018-10-11 15:04:29

标签: java.util.scanner logarithm

所以我得到了这个公式来计算将给定利息(i)的任何金额翻倍所需的年数

     w    x    y    z
s                    
a  0.0  1.0  0.5  0.5
b  0.5  0.0  1.0  0.5
c  0.0  0.0  0.0  1.0

这是我的代码:

log(2) / log(1 + (i/100) )

这给了我输出:花费无限长的时间才能使数量翻倍

我做错了什么?

1 个答案:

答案 0 :(得分:0)

问题在于100被假定为整数。您宁可将100表示​​为100.0并将其运行。 这是因为假设1.02.3的值是double而不是float。注意小数点。

因此,请按如下所示重写代码,它将运行:

import java.util.Scanner;

public class JavaApplication37 {




    public static void main(String[] args) {
       Scanner reader = new Scanner(System.in);  
        System.out.println("What's the interest rate?: ");
    int i = reader.nextInt(); 
    double t = (Math.log(2))/(Math.log(1+(i/100.0)));
    System.out.println("It takes " + t + " years before the amount has doubled");

    }

}

enter image description here