我有这个家庭作业的问题,我遇到的问题是当我运行程序并输入值时我只得到一个结果 例如,如果我输入30年的年数,我会得到30次“30 14730.576123040439”。我可以做些什么来获得正确的结果(即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;
}
}
答案 0 :(得分:2)
你没有重新计算FutureValue 30次,你只计算一次,然后打印30次。将FutureValue的计算放在循环中并相应地调整其参数
答案 1 :(得分:1)
你的代码打印的值是“年”,当你输入'30',然后int years = 30,如果你想要像(1,2,3,4,5 ....),你应该打印“我”而不是“年”,所以必须:
while(i<=years) {
System.out.println(i+"\t" + FutureValue);
i++;
}
return FutureValue;