private int yo ( int [] arr, int i){
if(arr[i]!=0){
arr[i+2]=arr[i]+arr[i+1];
yo(arr, i+2);
}else{
return -1;
}
}
为什么我错过了退货声明?
答案 0 :(得分:0)
您在return
区块中缺少if
语句。
通常递归的工作方式如下:
private int recursiveMethod (int a){
// your code goes here
return recursiveMethod (..);
}
从我的代码中可以理解,你实际上不必使用递归,所以尝试使用迭代来做。
无论如何,你的代码应该是:
private int yo ( int [] arr, int i){
if(arr[i]!=0){
arr[i+2]=arr[i]+arr[i+1];
return yo(arr, i+2);
}else{
return -1;
}
}