原文: https://www.programiz.com/kotlin-programming/examples/palindrome-number

在此程序中,您将学习检查 Kotlin 中的数字是否为回文数。 这是通过使用 while 循环完成的。

示例:回文检查程序

  1. fun main(args: Array<String>) {
  2. var num = 121
  3. var reversedInteger = 0
  4. var remainder: Int
  5. val originalInteger: Int
  6. originalInteger = num
  7. // reversed integer is stored in variable
  8. while (num != 0) {
  9. remainder = num % 10
  10. reversedInteger = reversedInteger * 10 + remainder
  11. num /= 10
  12. }
  13. // palindrome if orignalInteger and reversedInteger are equal
  14. if (originalInteger == reversedInteger)
  15. println("$originalInteger is a palindrome.")
  16. else
  17. println("$originalInteger is not a palindrome.")
  18. }

运行该程序时,输出为:

  1. 121 is a palindrome.

注意:可以将num的值更改为 11221,并且在运行程序时,输出为:

  1. 11221 is not a palindrome.

以下是等效的 Java 代码:用于检查回文数的 Java 程序

在这个程序中

  • 首先,给定数字(num)的值存储在另一个整数变量originalInteger中。 这是因为,我们需要在最后比较反向编号和原始编号的值。
  • 然后,使用while循环循环遍历num,直到等于 0。

    • 在每次迭代中,num的最后一位存储在remainder中。
    • 然后,将remainder添加到reversedInteger,以便将其添加到下一个位置值(乘以 10)。
    • 然后,除以 10 后,从num中删除最后一位数字。
  • 最后,比较reversedIntegeroriginalInteger。 如果相等,则为回文数。 如果不是,则不是。

以下是执行的步骤:

回文执行步骤

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