Como descubrir se a palavra é PALINDROME?

FALA GALERA COMO VAI, TUDO EM PAZ???

ESTOU COM UMA DÚVIDA (NA VERDADE NÃO TIVE UMA IDÉIA LÓGICA), EM UM PROVA QUE FIZ PARA ESTÁGIAR NA ÁREA DE PROGRAMAÇÃO E CAIU A SEGUINTE QUESTÃO: Como descubrir se a palavra é PALINDROME. EX: ARARA?

POR FAVOR, ME AJUDEM A RESOLVER ESSE PROBLEMA.

EDUARDO

String normal = "arara"; String invertida = new StringBuffer(normal).reverse().toString(); if(normal.equals(invertida)){ //é palindrome }else{ //não é palindrome }

:wink:

1 curtida

cara…
eu a muito tempo atrás, fiz uma função em pascal para isso, (é claro que achei na net) hehehe, espero que a logica da coisa te ajude! não é muito complexo não


// Function: CheckPalindrome
// Usage: if (IsPalindrome(str, n) == 1) ...
// -------------------------------------
// This function returns TRUE if the array of 
// characters str[0..n-1] is a palindrome. 
//
bool CheckPalindrome (char str[], int n) {
    if (n <= 1) {
       return TRUE;
    } else {
       return (str[0] == str[n-1]
               && CheckPalindrome(str + 1, n - 2));
}

no google vc pode achar um monte de coisas tb! :slight_smile:

[quote=“Volnei”] String normal = "arara"; String invertida = new StringBuffer(normal).reverse().toString(); if(normal.equals(invertida)){ //é palindrome }else{ //não é palindrome }

:wink:[/quote]

FAntastico esse método reverse!! eheheh perfeito…
Mas é só da StringBuffer?

Sim… :wink:

A Logica é a Seguinte

1 - Vc armazena a palavra numa String
2 - Cria uma StringAuxiliar
3- e vc pega a ultima letra da String e Armazena na Primeira da StringAuxiliar, a penultima na Segunda, e assim sucessivamente
4- Compara se sao iguais

analisando o codigo fica mais facil de entender


import javax.swing.*;

class Palindrome{  

public static void main(String[] args) {
       
       String palavra, palavraInvertida="";
       int tamanho,i;


       // Armazena a palavra numa String
       palavra = JOptionPane.showInputDialog(null,"Digite uma palavra"); 


       //tamanho recebe o qtd de letras q possui a palavra
       tamanho=palavra.length(); 
       
       
       //pega a ultima letra da variavel palavra, e inseri na primeira de palavraInvertida, depois pega penultima e inseri na 2ª, e assim em diante, até pegar a primeira, e colocar na ultima.
       for(i=tamanho-1;i>=0;i--){  
           palavraInvertida += palavra.charAt(i);
        }
        

       //Compara as Duas Strings e Exibe o Resultado
       if(palavra.equals(palavraInvertida)) 
            JOptionPane.showMessageDialog(null,palavra + " É uma palavra palindroma"); 
       else 
            JOptionPane.showMessageDialog(null,palavra + " Não é uma palavra palindroma"); 

       
}
    
}

Espero ter ajudado
Flw

OLHA TA RODANDO MACIO!!! KK

public class PALINDROME {

public static void main(String[] args) {
    String texto = "MIRIN";
    String aux = "";
    int i;
    System.out.print("A Palavra: " +texto);
    aux = new StringBuffer(texto).reverse().toString();
    if (texto.equals(aux)) {
    System.out.println("  é palindrome");
    } else {
    System.out.println(" Não é Palindrome");
    }

}

}