我试图实现一个返回自然数的函数,该自然数是输入的自然数内的数字之和。我只是不断地陷入无限循环。我知道我必须返回递归调用,但我无法弄清楚。这是我到目前为止所拥有的:
private static NaturalNumber sumOfDigits(NaturalNumber n) {
NaturalNumber zero = new NaturalNumber2(0);
if (n.compareTo(zero) == 0) {
return zero;
} else {
NaturalNumber z = new NaturalNumber2(n.divideBy10());
n.divideBy10();
z.add(sumOfDigits(n));
// return ___;
}
}
我应该返回什么?返回 z 不起作用