Java 将参数的数字相加的递归方法

Java recursive method which adds up digits of an argument

所以我必须写一个递归的方法,将一定数字内的数字相加。例如,digitSum (1234) returns 10(即 1+2+3+4 的和)。

到目前为止我有这个:

public static int digitSum (int n) {
    if(n<10) { return n ;} //basecase
     else return !!! ;
}

我应该添加什么!!!部分,谢谢

作业?

1234 余数 10 是 4,1234 / 10 是 123 你应该 return digitSum(123) + 4

用简单的英语写:当你有1234时,第一步应该是sum(123) + 4

将其转换为代码时:

public static int digitSum (int n) {
    if(n<10) { 
      return n 
    } 
    else 
     return n%10 + digitSum(n/10);
}

n%10 给你最后一个数字,n/10 给你剩下的部分。

当您有 n=1234n%10 = 4n/10 = 123 时。所以根据你的简单英语 sum(123) + 4 它应该是 digitSum(n/10) + (n%10)