Programa Java para verificar se um número é palíndromo ou não

Neste programa, você aprenderá a verificar se um número é palíndromo ou não em Java. Isso é feito usando o loop for e while.

Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação Java:

  • Instrução Java if… else
  • Java while e do … while Loop
  • Java para Loop

Exemplo 1: Programa para verificar o Palíndromo usando loop 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."); ) )

Resultado

 121 é um número de palíndromo.

Neste programa,

  • Primeiro, o valor de determinado número (num) é armazenado em outra variável inteira, originalInteger. Isso ocorre porque precisamos comparar os valores do número invertido e do número original no final.
  • Então, um loop while é usado para percorrer num até que seja igual a 0.
    • Em cada iteração, o último dígito de num é armazenado no restante.
    • Em seguida, o resto é adicionado a reversedInteger de forma que seja adicionado ao próximo valor de casa (multiplicação por 10).
    • Em seguida, o último dígito é removido de num após a divisão por 10.
  • Finalmente, reversedInteger e originalInteger são comparados. Se igual, é um número de palíndromo. Se não, não é.

Aqui estão as etapas de execução que ocorrem:

Etapas de execução do Palíndromo
num num! = 0 restante reversedInteger
121 verdade 1 0 * 10 + 1 = 1
12 verdade 2 1 * 10 + 2 = 12
1 verdade 1 12 * 10 + 1 = 121
0 falso - 121

Exemplo 2: Programa para verificar o Palíndromo usando o loop 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."); ) )

Resultado

 11221 não é um palíndromo.

No programa acima, o loop for é usado em vez de um loop while.

Em cada iteração, num /= 10é executado e a condição num !=0é verificada.

Artigos interessantes...