所以这是我的代码到目前为止.
public int getsum (int n){
int num = 23456;
int total = 0;
while (num != 0) {
total += num % 10;
num /= 10;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,我不能/知道如何将其更改为递归方法我是一种新的递归,我需要一些帮助实现此方法来改变它,以便它的递归.
Nay*_*rhc 14
简短,递归并完成工作:
int getsum(int n) {
return n == 0 ? 0 : n % 10 + getsum(n/10);
}
Run Code Online (Sandbox Code Playgroud)
这里是,
//sumDigits function
int sumDigits(int n, int sum) {
// Basic Case to stop the recursion
if (n== 0) {
return sum;
} else {
sum = sum + n % 10; //recursive variable to keep the digits sum
n= n/10;
return sumDigits(n, sum); //returning sum to print it.
}
}
Run Code Online (Sandbox Code Playgroud)
实际功能的一个例子:
public static void main(String[] args) {
int sum = sumDigits(121212, 0);
System.out.println(sum);
}
Run Code Online (Sandbox Code Playgroud)