public static int sumDigits (int n) {
if(n < 10)
return n;
else
return n%10 + sumDigits (n/10);
}
此方法用于递归计算数字中的数字之和,但我不明白? n%10 ???的目的是什么?
答案 0 :(得分:2)
n%10
通过计算将数字除以10的余数,为n
提供最低位数。
因此,该方法返回最低有效数字和n/10
(除了最低有效数字之外包含n
的所有数字的数字之和的数字之和)。
答案 1 :(得分:2)
n%10
表示10
的模数。这用于获取最后一位数字。
我们说你的号码是12345
12345 % 10
表示12345
除以10
时的余数,即5
。
此后,当您执行(n/10)
时,您会获得1234
(除了您在上一步中获得的最低有效数字之外的所有数字)。
答案 2 :(得分:0)
%是模数,因此在n mod 10中,它返回n / 10之后的余数。
如果n为1到10,则当n为10时,它将返回1到9和0。
答案 3 :(得分:0)
n%10
表示模数为10,即除以10得到的余数。这里用来得到每个数字。
示例:
说你的号码是n = 752。
n%10 = 2,n / 10 = 75
所以你在sumDigits(75)
现在,n%10 = 75%10 = 5.这是要添加的数字,依此类推,直至n >= 10
。当它为< 10
时,您只需要按原样返回一个数字,因为这只是该单位数字n中的数字之和。