Programa Java para comprobar si un número es palíndromo o no

En este programa, aprenderá a verificar si un número es palíndromo o no en Java. Esto se hace usando el bucle for y while.

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de Java:

  • Declaración if … else de Java
  • Java while y do… while Loop
  • Java para Loop

Ejemplo 1: Programa para comprobar palíndromo utilizando el bucle 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."); ) )

Salida

 121 es un número palíndromo.

En este programa,

  • Primero, el valor de un número dado (num) se almacena en otra variable entera, originalInteger. Esto se debe a que necesitamos comparar los valores del número invertido y el número original al final.
  • Luego, se usa un ciclo while para recorrer num hasta que sea igual a 0.
    • En cada iteración, el último dígito de num se almacena en el resto.
    • Luego, el resto se suma a reversedInteger de modo que se suma al siguiente valor posicional (multiplicación por 10).
    • Luego, el último dígito se elimina de num después de la división por 10.
  • Finalmente, se comparan reversedInteger y originalInteger. Si es igual, es un número palíndromo. Si no, no lo es.

Estos son los pasos de ejecución que tienen lugar:

Pasos de ejecución del palíndromo
num num! = 0 recordatorio reversedInteger
121 cierto 1 0 * 10 + 1 = 1
12 cierto 2 1 * 10 + 2 = 12
1 cierto 1 12 * 10 + 1 = 121
0 falso - 121

Ejemplo 2: Programa para comprobar palíndromo utilizando el bucle 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."); ) )

Salida

 11221 no es un palíndromo.

En el programa anterior, se usa un bucle for en lugar de un bucle while.

En cada iteración, num /= 10se ejecuta y num !=0se comprueba la condición .

Articulos interesantes...