为什么没有计划计算利息?

时间:2013-11-18 22:46:57

标签: java for-loop

public class Interest {
    public static void main(String[] args) {
        int n;          // number of years
        double rate;    // annual rate

        for (int r = 5; r<=10; r++ ) {
            System.out.println("\nInterest rate is  " + r + "%");
            System.out.println("**********************");
            System.out.println("Year\tAmount on deposit");

            for (n=1; n<=10; n++) {
                int p = 1000; // original amount
                rate = r / 100;
                double a = p * (Math.pow(1 + rate, n)); // amount on deposit at the end of year
                System.out.printf("\n%d\t%.2f", n, a);
             }
         }
    }

}

它以年为单位正确显示图表。但年末存款金额(a)保持不变(1000)。看起来像这样;

Interest rate is  5%
**********************
Year    Amount on deposit

1         1000.00
2         1000.00
3         1000.00
4         1000.00
5         1000.00
6         1000.00
7         1000.00
8         1000.00
9         1000.00
10        1000.00

直到费率达到10%。

2 个答案:

答案 0 :(得分:13)

您正在执行integer division

尝试:rate = r/100.0;

答案 1 :(得分:1)

注释 - 在java中划分两个整数时,结果是另一个整数(向下舍入)。尝试在你的师中使用双倍。