-4

我有这个家庭作业问题,我遇到的问题是当我运行程序并输入值时,我只得到一个结果,例如,如果我输入 30 表示我得到这个“30 14730.576123040439”30 次的年数。关于我可以做些什么来获得正确的结果来显示的任何想法(即第 1-30 年而不是第 30 年的正确结果 30 次)。

   public class FinancialApp57 
   {
       public static void main(String[] args) 
       {
           //variables
           double intRate, invAmt;
           int yrs;
           String inv = JOptionPane.showInputDialog("Enter an investment amount:");
           invAmt = Double.parseDouble(inv);
           String rate = JOptionPane.showInputDialog("Enter an intrest rate: ");
           intRate = Double.parseDouble(rate);
           String yr = JOptionPane.showInputDialog
                   ("Enter the lenght of investment(in years): ");
           yrs = Integer.parseInt(yr);

           futureInvestmentValue(invAmt,intRate/12,yrs);
       }

       public static double futureInvestmentValue
               (double investmentAmount,double monthlyIntrestRate,int years)
       {
           double FutureValue = 0;
           int i = 1;
           FutureValue=
                   investmentAmount*Math.pow((1+monthlyIntrestRate/100),years*12);

           while(i<years)
           {            
               System.out.println(years+"\t" + FutureValue);
               i++;
           }
           return FutureValue;

       }
   }
4

2 回答 2

2

您没有重新计算 FutureValue 30 次,您只计算一次,然后打印 30 次。将 FutureValue 的计算放入循环中并相应地调整其参数

于 2013-02-03T02:18:42.657 回答
1

您的代码打印的值是“年”,当您输入“30”,然后 int 年 = 30,如果您想要类似 (1,2,3,4,5....),您应该打印“i”而不是“年”,所以必须是:

while(i<=years) {            
    System.out.println(i+"\t" + FutureValue);
    i++;
}
return FutureValue;
于 2013-02-03T02:42:06.123 回答