-3

私のループの問題は実行中のようであり、停止していないようです

rate=interest/100;
double monthly_rate=rate/period;
double n=period*length;
payment = (principal * Math.pow((1 + monthly_rate), n)) / n;

System.out.printf("Test acoount amount is %.2f",payment);

for(double i=payment; n<=n; n++){
    System.out.println(i+ "" +(payment-i));

}
4

2 に答える 2

3
n <= n

通常、常に true になります。

ループの終了条件を把握し、場合によっては修正する必要がありますn++。次のようなものになる可能性があります。

for (int prd = 1; prd <= n; prd++) ...

包括的に値を保持してn時間をループします。prd1n

于 2012-11-19T18:58:00.993 に答える
1

あなたの問題は、 for ステートメント自体にあります。

for(double i=payment; n<=n; n++){

条件付き n<=n

基本的に、「n は常に n と等しい」ため、式が設定されたもの以外に評価されることはありません。

必要なのは、チェックを別の変数にするか、何かを切り捨てたいある種の上限にすることです。

int max = 10;
for(double i=payment; n<=max; n++){

最大値を設定および/または制御する方法は、達成しようとしているものによって異なります。

于 2012-11-19T18:59:43.110 に答える