java - 为什么程序不计算利息?

标签 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%。

最佳答案

您正在执行 integer division .

尝试:rate = r/100.0;

关于java - 为什么程序不计算利息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20059600/

相关文章:

java - 如何让这个java程序在多核上运行?

java - 如何获取 Eclipse RCP 应用程序的 OSGi BundleContext?

java - DatePicker onDateSet 方法未运行

java - Hadoop 0.21.0 中打开文件描述符的预期消耗

ios - 类型 'AnyObject?' 的 Swift For 循环值没有成员 'Generator'

ruby - 多个变量合二为一 - Rails

java - 这可以持续做某事吗?

java - 如何使用终端下载j连接器?

javascript - 如何在 Javascript 中同时遍历对象的属性?

java - JFreeChart 将数组加载到数据集中