En este programa, aprenderá a verificar si un número es palíndromo o no en Java. Esto se hace usando for y while loop.
Ejemplo 1: Programa para verificar Palindrome usando el ciclo 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.");
}
}
Cuando ejecutas el programa, la salida será:
121 es un número palíndromo.
En este programa
- Primero, el valor del número ( num ) dado 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 agrega al entero invertido de tal manera que se agrega 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.
- Por último, 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:
num | num! = 0 | recordatorio | entero invertido |
---|---|---|---|
121 | cierto | 1 | 0 * 10 + 1 = 1 |
12 | cierto | 2 | 1 * 10 + 2 = 12 |
1 | cierto | 1 | 12 * 10 + 1 = 121 |
0 0 | falso | - | 121 |
Ejemplo 2: Programa para verificar Palindrome usando 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.");
}
}
Cuando ejecutas el programa, la salida será:
11221 no es un palíndromo.
En el programa anterior, se usa el bucle for en lugar de un bucle while.
En cada iteración,
num /= 10
se ejecuta y num !=0
se verifica la condición .
0 Comentarios
Dejanos tu comentario para seguir mejorando!