public class Di1 {
public static void main (String ags[]) {
System.out.println(method(1));
}
public static long method(int index) {
if(index == 1 || index == 2) {
return 1;
}
else
return method(index-1) + method(index-2);
}
}
上述这段程序是可以执行的,但是在else后面加上if(index > 2)就报错,程序如下:
public class Di1 {
public static void main (String ags[]) {
System.out.println(method(1));
}
public static long method(int index) {
if(index == 1 || index == 2) {
return 1;
}
else if(index > 2)
return method(index-1) + method(index-2);
}
}
报的错误是Di2.java:13 missing return statement
我知道报错的原因是缺少返回值,但是这两段程序的功能上有区别吗,请大家指点