1

私の問題は、複利の公式に基づいています。A = P(1 + r)^n. 配列として格納する必要がある r と n の値がいくつかあります。また、最終値 A の範囲も配列として出力する必要があります。r と n を配列として正しく保存したと思います。しかし、私の問題は、Aの最終値と各値Aの保存にあります。これまでのところ、これは私が書いたものです。

import java.util.Scanner;
import javax.swing.*;

public class Prin {
public static void main (String [] args){

    System.out.println("Please enter the Principal you wish to invest =>");
    Scanner stdio = new Scanner (System.in);
    int principal = stdio.nextInt(); 
    stdio.nextLine();

    System.out.println("This program will now calculate the final amount A for (years) n = 1,2,3,4 and the rate r = 1%, 1.5%, 2%, 2.5%, 3%");

    int yearsarray[] = {1,2,3,4};
    double ratearray[] = {0.010, 0.015, 0.020, 0.025, 0.030};

    double amountarray[];
    amountarray = new double[19];


    for(int i=0; i<=3; i++)
    {
        for(int j=0; j<=5; j++){

            amountarray[k] = principal * Math.pow((1 + ratearray[j]), yearsarray[i]);

            System.out.println(" answer " + amountarray[k] );


    }
}

amountarray[] の k の値を増やすには、別の for ループが必要ですか?

amountarray のすべての値、つまり amountarray[0]、amountarray[1]、amountarray[2]、.......などを取得したいと考えています。

助けてくれてありがとう。

4

4 に答える 4

0

データをマップに保存してみてください。これはループの例です

 for(int i=0; i<=yearsarray.length; i++) {
     for(int j=0; j<=ratearray.length; j++) {
         double answer = (yearsarray, principal * Math.pow((1 + ratearray[j]), yearsarray[i]));
         Collection<Double> aux;
         if (!answers.containsKey(yearsarray[i])){
             aux = new ArrayList<Double>();         
             aux.add(answer);
         } else {
             aux = answers.get(yearsarray[i]);
             aux.add(answer);
         }
         answers.put(yearsarray[i], aux);
         // include the answers in a Map 
    }
}

ありがとう

于 2013-08-20T11:54:18.130 に答える