亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java 回文数判断:while 循环与 for 循环两种算法实现

什么是回文数?

回文数正读反读都一样。例如:121、393、48084。它们具有轴对称特性,常见于算法面试题。

在 Java 中,回文数检查是常见面试题和编程挑战。算法直观但有多种实现方式。

算法概览

使用 while 循环判断

下面是使用 while 循环反转数字并判断回文的简洁 Java 程序,包含中间步骤打印以便理解过程。

package com.guru99;

public class PalindromeNum {
    public static void main(String[] args) {
        int inputNumber = 171; // 待检查数字
        int reversed = 0;
        int temp = inputNumber;

        while (temp > 0) {
            int lastDigit = temp % 10;
            reversed = (reversed * 10) + lastDigit;
            temp /= 10;
        }

        System.out.println("反转后的数字: " + reversed);
        if (reversed == inputNumber) {
            System.out.println("该数字是回文数。");
        } else {
            System.out.println("该数字不是回文数。");
        }
    }
}

输出示例

反转后的数字: 171
该数字是回文数。

使用 for 循环判断

相同逻辑可用 for 循环表达,适合循环计数器自然递减的场景。

package com.guru99;

public class PalindromeNum {
    public static void main(String[] args) {
        int inputNumber = 185; // 待检查数字
        int reversed = 0;
        int temp = inputNumber;

        for (; temp > 0; temp /= 10) {
            int lastDigit = temp % 10;
            reversed = (reversed * 10) + lastDigit;
        }

        System.out.println("反转后的数字: " + reversed);
        if (reversed == inputNumber) {
            System.out.println("该数字是回文数。");
        } else {
            System.out.println("该数字不是回文数。");
        }
    }
}

输出示例

反转后的数字: 581
该数字不是回文数。

注意事项与最佳实践

public static boolean isPalindromeString(int x) {
    if (x < 0) return false;
    String s = String.valueOf(x);
    return s.equals(new StringBuilder(s).reverse().toString());
}

更多详细解释可参考 GeeksforGeeks 与 Stack Overflow 讨论。

java

  1. 掌握 C# while 与 do-while 循环:语法、示例与最佳实践
  2. 掌握 C# for 循环:语法、执行流程与实战示例
  3. 掌握 C++ for 循环:语法、流程图、范围循环与实战模式
  4. C++ while 与 do-while 循环:重复控制流完全掌握
  5. Python 循环完全指南:for、while、break、continue、enumerate 详解
  6. Java Hello World:你的第一个程序
  7. 精通 Java 增强 for 循环:语法、示例与最佳实践
  8. Java 判断素数(质数)的完整指南与代码实现
  9. Java 打印 1 到 100 之间所有素数:完整代码与步骤解析
  10. Java 生成斐波那契数列:for 循环、while 循环与递归实现全解析
  11. Java 判断阿姆斯特朗数(自幂数):for 循环与 while 循环实现
  12. Java 回文数判断:while 循环与 for 循环两种算法实现