原文: https://www.programiz.com/kotlin-programming/examples/reverse-number
fun main(args: Array<String>) {
var num = 1234
var reversed = 0
while (num != 0) {
val digit = num % 10
reversed = reversed * 10 + digit
num /= 10
}
println("Reversed Number: $reversed")
}运行该程序时,输出为:
Reversed Number: 4321在此程序中,while循环用于按以下步骤反转数字:
- 首先,将
num除以 10 的余数存储在变量digit中。 现在,digit包含num的最后一位,即 4。然后将reversed乘以 10 后加上digit。 乘 10 在倒序数字中添加一个新位置。 个位乘以 10 可得到十位,十位则可得到百位,依此类推。 在这种情况下,reversed包含0 * 10 + 4 = 4。然后num除以 10,因此现在它仅包含前三个数字:123。 - 在第二次迭代后,
digit等于 3,reversed等于4 * 10 + 3 = 43,并且num = 12 - 在第三次迭代后,
digit等于 2,reversed等于43 * 10 + 2 = 432,并且num = 1 - 在第四次迭代后,
digit等于 1,reversed等于432 * 10 +1 = 4321,并且num = 0 - 现在
num = 0,因此测试表达式num != 0失败并且while循环退出。reversed已经包含颠倒的数字 4321。
以下是等效的 Java 代码:反转数字的 Java 程序