原文: https://www.programiz.com/kotlin-programming/examples/palindrome-number
在此程序中,您将学习检查 Kotlin 中的数字是否为回文数。 这是通过使用 while 循环完成的。
示例:回文检查程序
fun main(args: Array<String>) {var num = 121var reversedInteger = 0var remainder: Intval originalInteger: IntoriginalInteger = num// reversed integer is stored in variablewhile (num != 0) {remainder = num % 10reversedInteger = reversedInteger * 10 + remaindernum /= 10}// palindrome if orignalInteger and reversedInteger are equalif (originalInteger == reversedInteger)println("$originalInteger is a palindrome.")elseprintln("$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 |
