原文: https://www.programiz.com/kotlin-programming/examples/palindrome-number
在此程序中,您将学习检查 Kotlin 中的数字是否为回文数。 这是通过使用 while 循环完成的。
示例:回文检查程序
fun main(args: Array<String>) {
var num = 121
var reversedInteger = 0
var remainder: Int
val originalInteger: Int
originalInteger = num
// reversed integer is stored in variable
while (num != 0) {
remainder = num % 10
reversedInteger = reversedInteger * 10 + remainder
num /= 10
}
// palindrome if orignalInteger and reversedInteger are equal
if (originalInteger == reversedInteger)
println("$originalInteger is a palindrome.")
else
println("$originalInteger is not a palindrome.")
}
运行该程序时,输出为:
121 is a palindrome.
注意:可以将num
的值更改为 11221,并且在运行程序时,输出为:
11221 is not a palindrome.
以下是等效的 Java 代码:用于检查回文数的 Java 程序
在这个程序中
- 首先,给定数字(
num
)的值存储在另一个整数变量originalInteger
中。 这是因为,我们需要在最后比较反向编号和原始编号的值。 然后,使用
while
循环循环遍历num
,直到等于 0。- 在每次迭代中,
num
的最后一位存储在remainder
中。 - 然后,将
remainder
添加到reversedInteger
,以便将其添加到下一个位置值(乘以 10)。 - 然后,除以 10 后,从
num
中删除最后一位数字。
- 在每次迭代中,
- 最后,比较
reversedInteger
和originalInteger
。 如果相等,则为回文数。 如果不是,则不是。
以下是执行的步骤:
回文执行步骤
num |
num != 0 |
remainder |
reversedInteger |
---|---|---|---|
121 | true |
1 | 0 * 10 + 1 = 1 |
12 | true |
2 | 1 * 10 + 2 = 12 |
1 | true |
1 | 12 * 10 + 1 = 121 |
0 | false |
- | 121 |