Java 为什么以下代码不接受所需数量的输入?
在获得所需数量的输入后,上述代码不会终止。它永远运行。如何解决此问题?您将始终使用相同的值递归调用storeData,因为您使用了Java 为什么以下代码不接受所需数量的输入?,java,recursion,Java,Recursion,在获得所需数量的输入后,上述代码不会终止。它永远运行。如何解决此问题?您将始终使用相同的值递归调用storeData,因为您使用了 void storedata(int i) { if(i > 0) { a[size-i] = in.nextInt(); storedata(i--); } } 试用 storedata(i--); 相反。这将首先减少i。是in变量System.in?将您选为新的贡献者。但是代码不完整,不能理解它,发布更多
void storedata(int i) {
if(i > 0) {
a[size-i] = in.nextInt();
storedata(i--);
}
}
试用
storedata(i--);
相反。这将首先减少i。是in变量System.in?将您选为新的贡献者。但是代码不完整,不能理解它,发布更多信息,比如完整的程序和描述你期望它做什么来帮助你调试它们的值?肯定不会是负数。检查函数的调用者。调试并让我们知道。请阅读-总结是,这不是一个理想的方式来解决志愿者,可能会适得其反获得答案。请不要将此添加到您的问题中。@tgkprog:请不要仅仅因为某人是新人就投票。这可能会引发一连串的否决票,以抵消未达到的分数,这反过来可能会导致自动禁止提问。正确的方法是使用i-1。我不需要修改。是的。我只是想强调我和我之间的区别。
storedata(--i);