为什么以下代码未按要求输入数量?

时间:2019-12-06 11:35:06

标签: java recursion

void storedata(int i) {
    if(i > 0) {
        a[size-i] = in.nextInt();
        storedata(i--);
    }
}

接受所需数量的输入后,以上代码不会终止。它永远运行。我该怎么解决?

1 个答案:

答案 0 :(得分:2)

由于您使用了

,因此您将始终以相同的值递归调用storeData
storedata(i--);

尝试使用

storedata(--i);

相反。这将首先减少i