English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriais Básicos de Java

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Tratamento de Exceções Java

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

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

Java Exemplos completos

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

示例1:使用while循环检查回文的程序

public class Palindrome {
    public static void main(String[] args) {
        int num = 121, reversedInteger = 0, resto, originalInteger;
        originalInteger = num;
        //反向整数存储在变量中
        while( num != 0 )
        {
            resto = num % 10;
            reversedInteger = reversedInteger * 10 + resto;
            num  /= 10;
        }
        //如果orignalInteger和reversedInteger相等,则回文
        if (originalInteger == reversedInteger)
            System.out.println(originalInteger + " 是回文。");
        else
            System.out.println(originalInteger + " 不是回文。");
    }
}

Quando você executar o programa, a saída será:

121 是回文。

在这个程序中

  • 首先,给定数字(num)的值存储在另一个整数originalInteger变量中。这是因为,我们需要在最后比较反向数字和原始数字的值。

  • 然后,使用while循环循环遍历num,直到等于0。

    • 每次迭代时,num的最后一位存储在中remainder。

    • 然后,将余数添加到reversedInteger,以便将其添加到下一个位置值(乘以10)。

    • 然后,除以10后从num中删除最后一位数字。

  • 最后,reversedInteger和originalInteger进行比较。如果相等,则为回文数。如果不等,则不是。

以下是执行的步骤:

回文执行步骤
numnum != 0remainderreversedInteger
121true10 * 10 +1 = 1
12true21 * 10 + 2 = 12
1true112 * 10 +1 = 121
0false
-121

示例2:使用for循环检查回文的程序

public class Palindrome {
    public static void main(String[] args) {
        int num = 11221, reversedInteger = 0, resto, originalInteger;
        originalInteger = num;
        //O inteiro invertido é armazenado na variável
        for( ;num != 0; num /= 10 )
        {
            resto = num % 10;
            reversedInteger = reversedInteger * 10 + resto;
        }
        //É um palíndromo, se o inteiro original e o inteiro invertido forem iguais
        if (originalInteger == reversedInteger)
            System.out.println(originalInteger + "é um palíndromo.");
        else
            System.out.println(originalInteger + "não é um palíndromo.");
    }
}

Quando você executar o programa, a saída será:

11221 não é um palíndromo.

No programa acima, use a repetição for em vez da repetição while.

Em cada iteração, num /= 10Todos executarão e verificarão a condição num != 0.

Java Exemplos completos