【发布时间】:2019-03-08 22:06:28
【问题描述】:
我目前被困在我不完全理解的一行代码上。 所以,我正在阅读书中的示例代码,其中一个“程序”使用递归来确定整数 n 中的位数。我卡在并且不完全理解的一行代码是:
if (number >= 10) {
return numberOfDigits(number / 10) + 1;
例如,这使得数字 42 返回 2,这是它应该做的。但是这个函数究竟是如何返回 2 的呢? 42 除以 10 等于 4,2 或 4。加 1 是 5,那么它如何返回 2?
【问题讨论】:
-
42 除以 10 是 4(整数除法)。
numberOfDigits(4)是 1。1 + 1 = 2。
标签: java recursion integer digits