Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么以下代码不接受所需数量的输入?_Java_Recursion - Fatal编程技术网

Java 为什么以下代码不接受所需数量的输入?

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?将您选为新的贡献者。但是代码不完整,不能理解它,发布更多

在获得所需数量的输入后,上述代码不会终止。它永远运行。如何解决此问题?

您将始终使用相同的值递归调用storeData,因为您使用了

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);