📜  Java程序检查数字是否为回文

📅  最后修改于: 2020-09-26 18:59:53             🧑  作者: Mango

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

示例1:使用while循环检查回文的程序
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.");
    }
}

输出

121 is a palindrome number.

在这个程序中

  • 首先,给定数字( num )的值存储在另一个整数变量originalInteger中 。这是因为,我们需要在最后比较反向编号和原始编号的值。
  • 然后,使用while循环循环遍历num,直到等于0。
    • 每次迭代时, num的最后一位存储在剩下的数中
    • 然后,将余数添加到reversedInteger ,以便将其添加到下一个位置值(乘以10)。
    • 然后,除以10后,从num中删除最后一位数字。
  • 最后,对reversedIntegeroriginalInteger进行了比较。如果相等,则为回文数。如果不是,则不是。

这是执行的步骤:

Palindrome execution steps
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循环检查回文的程序
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.");
    }
}

输出

11221 is not a palindrome.

在上面的程序中,使用for循环代替while循环。

在每次迭代中,执行num /= 10并检查条件num !=0