0

月ごとの複利を計算するアプリケーションを作成する必要があります。元本は $1000 で、利率は 2.65% です。私はアプリケーションのコーディングを試み、いくつかの領域で成功しました。しかし、私は実際の計算に問題があり、複利を得るためにさまざまな方法を試しましたが成功しませんでした。以下にリンクを貼っておきます。どんな助けでも大歓迎です、ありがとう。

http://pastebin.com/iVaWHiAJ

import java.util.Scanner;

class calculator{

private double mni, mni2, mni3;
private double intot = 1000;
private int a, c;

        double cinterest (int x){
                for(a=0;a<x+1;a++){
                        mni = intot * .0265;
                        intot = mni + intot;
                        //mni3 = (intot - mni) - 1000;
                        mni3 = (intot - mni);

                }
                return(mni3);
        }
}

class intcalc{

        public static void main(String[] args){

                calculator interest = new calculator();
                Scanner uinput = new Scanner(System.in);
                int months[] = {2, 5, 10, 500};
                int b;

                        for(b=0;b<4;b++){
                                System.out.println("Interest at " +
                                months[b] + " months is: " + interest.cinterest(months[b]));

                        }

        }

}
4

2 に答える 2

3

それよりも簡単です。まず、ループを実行して合成を行う代わりに、Math.pow を使用できます。この場合の最も簡単な方法は、静的メソッドを使用することです。

public class CalcInterest{

  public static double getInterest(double rate, int time, double principal){
    double multiplier = Math.pow(1.0 + rate/100.0, time) - 1.0;
    return multiplier * principal;
  }

  public static void main(String[] args){
    int months[] = {2, 5, 10, 500};
    for(int mon : months)
        System.out.println("Interest at " + mon + " months is " + getInterest(2.65,mon,1000));

  }

}

出力は次のとおりです。

Interest at 2 months is 53.70224999999995
Interest at 5 months is 139.71107509392144
Interest at 10 months is 298.94133469174244
Interest at 500 months is 4.7805288652022874E8
于 2013-09-23T22:26:59.363 に答える
1

複利率の背後にある数学について、もう少し読む必要があります。ここでは、複利計算の簡単なガイドをご紹介します。これを読んで理解したら、cintrestコードを次のようにする必要があります-

double cintrest(int x){
    return intot - (intot(1+.0265)^x);
}

ここでは命名規則を使用していますが、もっと良い名前を付ける必要があります。

于 2013-09-23T20:14:40.973 に答える