所以我有以下功能:
int digitsum(int n){
int s = n;
if(n < 10)
return s;
while(s > 0){
n = s + n % 10;
s = n / 10;
}
digitsum(n);
}
我想取一个数字并得到其数字的总和,我想继续这样做,直到我得到一位数字。根据我在这里可以理解的,if
语句在编译期间导致错误,它显示missing return statement
并突出显示最后}
。
有人可以帮我这个吗?
答案 0 :(得分:4)
在非void函数中,每个函数调用都必须跟踪一个return语句,并且如java所示
函数中的每个执行路径都必须指向RETURN语句
所以添加此return digitsum(n);
根据java中的这个规则,如果这个条件是if(n < 10)
false
那么就没有进一步的return
语句,所以要么应该有一个默认的return
语句,要么在条件return
的情况下应该有一些其他else
语句。
答案 1 :(得分:1)
if(n<10) return s;
当n> = 10时,返回值是多少?
答案 2 :(得分:1)
您的函数返回类型为int
,因此必须在每种情况中返回int
值。您可以添加return 0
,也可以将其设为void
。
答案 3 :(得分:0)
如果方法声明为void,则不必使用return语句(例如,您可以使用System.out.Println),但如果您将方法声明为int,则必须返回一个int。