Java 仅显示一个结果

Java 仅显示一个结果,java,Java,我的家庭作业有这个问题,我的问题是当我运行程序并输入值时,我只得到一个结果 例如,如果我输入30作为年数,我会得到30次“30 14730.576123040439”。我能做些什么来显示正确的结果(即1-30年,而不仅仅是30年的正确结果) public class financial第57页 { 公共静态void main(字符串[]args) { //变数 双内陷,内陷; 国际年; String inv=JOptionPane.showInputDialog(“输入投资金额:”); invA

我的家庭作业有这个问题,我的问题是当我运行程序并输入值时,我只得到一个结果 例如,如果我输入30作为年数,我会得到30次“30 14730.576123040439”。我能做些什么来显示正确的结果(即1-30年,而不仅仅是30年的正确结果)

public class financial第57页
{
公共静态void main(字符串[]args)
{
//变数
双内陷,内陷;
国际年;
String inv=JOptionPane.showInputDialog(“输入投资金额:”);
invAmt=Double.parseDouble(inv);
String rate=JOptionPane.showInputDialog(“输入利率:”);
intRate=Double.parseDouble(速率);
字符串yr=JOptionPane.showInputDialog
(“输入投资期限(年):”;
yrs=整数.parseInt(yr);
未来投资价值(invAmt,12年期内,年期);
}
公共静态双重未来投资价值
(双倍投资金额,双月期,整数年)
{
双倍未来值=0;
int i=1;
未来价值=
投资金额*数学功率((1+月/100),年*12);

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

当您输入“30”时,代码打印的值为“年”,如果您想要类似(1,2,3,4,5…),则int years=30,您应该打印“i”而不是“years”,因此必须:

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

while(这是调试器非常有用的地方。有人给了你答案,但仔细检查代码可能也会发现你的错误。下次,试着自己解决问题。正如其他人所说,这就是家庭作业的目的。从别人那里得到答案,你能学到什么?@AEFXX我的程序很复杂我没有要求任何人为我做这件事。我有一个简单的问题,关于我遗漏了什么,如果你不想帮忙,就不要麻烦发帖了。更不用说,如果我没有自己做任何事情,我怎么知道我想问什么!为什么帮助论坛上那么多混蛋!@Mikezx6r我看到了,我试过了,似乎我仍然得到了答案同样的事情30个相同的(最后一个)答案。而且,我自己也一直在做这件事,只有当我用尽了我能想到的一切时我才会寻求帮助。这不是帮助论坛的意义吗!@JohnDziendziel-所以不是传统意义上的“帮助论坛”。这里的指导原则对什么构成问题非常清楚。你的…不是;“我的代码出了什么问题?”这不是一个正确的问题,所以它属于“太本地化”"这就是结束这个问题的原因。我想我在想,如果你调试它,你会看到其他人善意地指出的。FutureValue只计算一次,在你的循环之外,因此在这段时间内,FutureValue总是一样的。你可能也注意到在println中你打印的是年份而不是我。也许不是……它查看别人的代码并看到“简单的东西”总是比较容易的。我知道看不到东西的感觉,让别人看它并说“哦,你错过了一件{非常小的事情}”这里,“…为听起来比我预想的更严厉而道歉。在我使用了你的建议后,我的室友向我指出,我还需要在另一个地方工作,这就是为什么我得到同样的30个结果。老实说,我一直在做这件事,以至于我看不出问题出在哪里。谢谢你的帮助。我希望更多的人他们像这样更乐于助人。
while(i<=years) {            
    System.out.println(i+"\t" + FutureValue);
    i++;
}
return FutureValue;