💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# Java 程序:检查数字是否为回文 > 原文: [https://www.programiz.com/java-programming/examples/palindrome-number](https://www.programiz.com/java-programming/examples/palindrome-number) #### 在此程序中,您将学习如何用 Java 检查数字是否为回文。 这是通过使用`for`和`while`循环来完成的。 ## 示例 1:使用`while`循环检查回文的程序 ```java public class Palindrome { public static void main(String[] args) { int num = 121, reversedInteger = 0, remainder, originalInteger; 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) System.out.println(originalInteger + " is a palindrome."); else System.out.println(originalInteger + " is not a palindrome."); } } ``` 运行该程序时,输出为: ```java 121 is a palindrome number. ``` 在这个程序中 * 首先,给定数字(`num`)的值存储在另一个整数变量`originalInteger`中。 这是因为,我们需要在最后比较反向编号和原始编号的值。 * 然后,使用`while`循环循环遍历`num`,直到等于 0。 * 在每次迭代中,`number`的最后一位存储在`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 | * * * ## 示例 2:使用`for`循环检查回文的程序 ```java public class Palindrome { public static void main(String[] args) { int num = 11221, reversedInteger = 0, remainder, originalInteger; originalInteger = num; // reversed integer is stored in variable for( ;num != 0; num /= 10 ) { remainder = num % 10; reversedInteger = reversedInteger * 10 + remainder; } // palindrome if orignalInteger and reversedInteger are equal if (originalInteger == reversedInteger) System.out.println(originalInteger + " is a palindrome."); else System.out.println(originalInteger + " is not a palindrome."); } } ``` 运行该程序时,输出为: ```java 11221 is not a palindrome. ``` 在上面的程序中,使用`for`循环代替`while`循环。 在每次迭代中,都会执行`num /= 10`并检查条件`num !=0`。