私は教科書から練習問題をやっていますが、これを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