-2

私は初心者としてJavaを練習しています。ここで質問です。毎月 100 ドルを年利 5% の普通預金口座に預けるとします。したがって、月利は 0.00417 です。最初の月の後、アカウントの値は 100 * (1 + 0.00417) = 100.417 になり、2 番目の月は (100 + firstMonthValue) * 1.00417 になり、その後は毎月同様に続きます。だからここに私のコードがあります:

import javax.swing.JOptionPane;
public class vinalcialApplication {
    public static void main(String args[]){
        String monthlySaving = JOptionPane.showInputDialog("Enter the monthly savings");
        double monthsaving = Double.parseDouble(monthlySaving);
        //define monthly rate
        double monthlyrate = 1.00417;
        double totalrate = monthlyrate + 0.00417;
        double firstMonthValue = monthsaving * (totalrate);
    double secondMonthValue = (firstMonthValue + 100)*(monthlyrate);
    double thridMonthValue = (secondMonthValue + 100) * (monthlyrate);

     .........
    System.out.print("After the sixth month, the account value is " sixthMonthValue);
}

}

つまり、コードは機能しますが、書くにはコードが多すぎます..ループまたはifステートメントを使用してこれを行うことができると確信していますが、まだそれを行う方法を考え出していません..助けてもらえますか? ありがとうございました。

4

3 に答える 3

4

私の理解が正しければ、これは複利と呼ばれます。

ループせずに目的を達成するための数式があります。

ここにウィキペディアの式があります

ここに画像の説明を入力

ここで、A = 将来価値、P = 元本額 (初期投資)、r = 名目年利、利率、n = 1 年あたりの複利回数、t = 年数

これがあなたが望んでいたことを解決するのに役立つことを願っています. サンプル コードを提供できますが、この式を Java ステートメントに変換するのはかなり簡単だと思います。さらに情報が必要な場合はお知らせください。

ソース: http://en.wikipedia.org/wiki/Compound_interest

于 2013-04-30T03:58:57.280 に答える
0

計算は間違っているかもしれませんが、基本的なコンセプトはしっかりしています。

public static void main(String[] args) {
    double monthsaving = 100;
    double monthlyrate = 1.00417;

    double savings = 0;
    // Loop for six months...
    for (int index = 0; index < 6; index++) {
        savings += monthsaving * monthlyrate;
        System.out.println(index + ":" + savings);
    }
    System.out.println(savings);
}

Control Flow Statementsを詳しく見てみましょうwhiledo-whilefor

于 2013-04-30T03:58:36.193 に答える
0
import javax.swing.JOptionPane;
public class vinalcialApplication {
public static void main(String args[]){
    String monthlySaving = JOptionPane.showInputDialog("Enter the monthly savings");
    double monthsaving = Double.parseDouble(monthlySaving);
    //define monthly rate
    double monthlyrate = 1.00417;
    double totalrate = monthlyrate + 0.00417;
    double value = monthsaving * (totalrate);
    for(int i = 1; i<6;i++) {
        value = (value + 100)*(monthlyrate);
    }
    System.out.print("After the sixth month, the account value is " value);
}
于 2013-04-30T04:02:00.663 に答える