编写了一个递归函数,但是出现了错误。
public class Recursion {
double max(final int a,final double b){
return a+b ;
}
int sum(int a)
{
if(a==0){
return 0;
}
else{
return sum((a-1)*a)+a ;
}
}
public static void main(String []args){
Recursion r=new Recursion();
System.out.println(r.sum(2));
}
}
意思是,线程出现栈溢出。虽然递归的使用能够简化代码,使得算法变得简单。但是递归经常出现栈溢出的问题。因此,应该谨慎使用。