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: :wink:](https://www.guj.com.br/images/emoji/twitter/wink.png?v=9)
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: :slight_smile:](https://www.guj.com.br/images/emoji/twitter/slight_smile.png?v=9)
[quote=“Volnei”]
String normal = "arara";
String invertida = new StringBuffer(normal).reverse().toString();
if(normal.equals(invertida)){
//é palindrome
}else{
//não é palindrome
}
[/quote]
FAntastico esse método reverse!! eheheh perfeito…
Mas é só da StringBuffer?
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");
}
}
}