所以我今晚刚刚在学校进行了CS测试,我不得不编写一个递归方法,在数组中找到最大值。
这就是我提出的:
public static int getMax(int[] a, int max, int index)
{
if(index == a.length)
{
return max;
}
if(a[index] > max)
{
max = a[index];
}
return getMax(a, max, index++);
}
这就是我在报纸上写的内容,但是我看到我回到家并把它放在我的IDE中试一试,看看它是否有效,我得到了堆栈溢出。所以我做了一些测试,最后将第二次返回更改为:
return getMax(a, max, index+1);
并且不再有堆栈溢出。
为什么++
运算符会破坏方法?
由于