抱歉,我没有特别理解你的问题。
// 计算arr[l...n)这个区间内所有数字的和
private static int sum(int[] arr, int l){
if(l == arr.length)
return 0;
return arr[l] + sum(arr, l + 1);
}
这段函数的语意是计算arr[l...n) 这个区间的和。其中n == arr.length。当l也等于arr.length的时候,这段函数求的是arr[n, n)这个区间的数字和。这个区间里没有任何元素(注意:是前闭后开的),所以结果为0。