-1
主要方法调用sum并且必须返回数组的总和。该程序旨在查找数组的总和而不使用任何循环。无法检测到错误。使用递归的数组的总和! (错误:StackOverflowError)
使用递归阵列的总和代码:
import java.util.Scanner;
public class X{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int l1,j,sum=0;
try{
System.out.println("Enter length of array: ");
l1= sc.nextInt();
int[] s1=new int[l1];
System.out.println("Enter array elements: ");
for(j=0;j<l1;j++)
s1[j]=sc.nextInt();
sum=sum(s1,0);
System.out.println("Sum = "+sum);
}
finally{ sc.close();}
}
public static int sum(int[] a,int i){
if(i>=a.length)
return 0;
return a[i]+sum(a,i++);
}
}
或者只是使用 “我+ 1” 的简单... – Porz
烨...这就是正确的! –