0

私は教科書から練習問題をやっていますが、これをforループで効率的に行う方法がわかりません。

質問:今年の大学の授業料は $10000 で、毎年 5% ずつ値上がりしています。今から 10 年後の 4 年間の授業料の総額を表示するプログラムを作成してください。

これが私がこれまでに思いついたものです。

public class ComputeFutureTuition {
    public static void main(String[] args) {
        double baseTuition = 10000;
        final double RATE = 1.05;

        System.out.println("The total cost of 4 years tution");

        for (int i = 0; i < 10; i++) {
            // keep track of the next 4 year's tuition
            double fourYearTuition = 0;

            fourYearTuition = baseTuition + (baseTuition * RATE) 
                + (baseTuition * RATE * RATE) + (baseTuition * RATE * RATE * RATE);

            System.out.printf("%2d yrs from now: $%5.2f\n", 
                    (i + 1), fourYearTuition);
            // Increase the tuition by 5%
            baseTuition = baseTuition * 1.05;
        }
    }
}

毎年の授業料を一度だけ計算して、この質問をどのように解決できますか? 現在、私の解決策は、反復ごとに結果を捨てることです。(いいえarrayList、またはclassまだ、基本のみが導入されています)。

欲望の出力:

The total cost of 4 years tution
 1 yrs from now: $43101.25
 2 yrs from now: $45256.31
 3 yrs from now: $47519.13
 4 yrs from now: $49895.08
 5 yrs from now: $52389.84
 6 yrs from now: $55009.33
 7 yrs from now: $57759.80
 8 yrs from now: $60647.79
 9 yrs from now: $63680.18
10 yrs from now: $66864.19
4

2 に答える 2

1

複利を計算するための数学は、次のように表すことができます。

ここに画像の説明を入力

10年後の基本学費は

10000*Math.pow(1.05,10)または16288.94627。次に、これに 1.05 を掛けて 11 年目を取得し、さらに 12 年目を取得します。これらの値をそれぞれ加算すると、答えが得られます。

これは宿題のように見えるので、解決するためのコードを提供するつもりはありません。

于 2013-07-05T01:37:26.930 に答える