Palíndromos são frases ou palavras que podem ser lidas da esquerda para a direita e da direita para a esquerda onde encontramos o mesmo resultado, exemplo disso é a palavra ARARA!
Clique aqui para mais informações sobre palíndromos.
Segue o algoritmo:
public class palavraPalindromo {
public static void main(String[] args) {
String palavra = "ARARA";
String resultado="";
for(int x=palavra.length()-1;x>=0;x--){
resultado+= palavra.charAt(x);
}
if(resultado.equals(palavra)){
System.out.println("A palavra "+palavra+ " é um PALINDROMO");
}else{
System.out.println("A palavra "+palavra+ " NÃO é um PALINDROMO");;
}
}
}
Primeiramente pegamos a palavra, invertemos ela e atribuimos a palavra invertida a variavel resultado, depois disso verificamos se a palavra resultado é igual a palavra que foi passada como parametro. Utilizando o metodo:
if(resultado.equals(palavra))que retorna verdadeiro se as 2 palavras forem iguais.
Duvidas comentem!
e se fosse uma frase inteira?
ResponderExcluira cara rajada da jararaca
acho que para uma frase complica um pouco, mas da pra retirar os espaços e verificar, algo mais ou menos assim:
ExcluirString frase = "a cara rajada da jararaca";
frase = frase.replaceAll(" ", "");
String resultado="";
for(int x=frase.length()-1;x>=0;x--){
resultado+= frase.charAt(x);
}
if(resultado.equals(frase)){
System.out.println("A frase "+frase+ " é um PALINDROMO");
}else{
System.out.println("A frase "+frase+ " NÃO é um PALINDROMO");;
}
Desculpa pela pergunta boba, mas qual seria o objetivo do "-1" depois da função length()?
Excluirta e como eu fasso distinguir c a palavra e um palindromo perfeito ou imperfeito..?qual regrinha eu uso.
ResponderExcluir— Quanto à estética: palíndromos perfeitos e imperfeitos:
ExcluirPalíndromos perfeitos: são aqueles criados com obediência às regras gramaticais e de sintaxe, nos quais os sinais ortográficos (diacríticos ou de pontuação) não oscilam de posição. O TEU DRAMA É AMAR DUETO; O TENRO PRAZER É REZAR POR NETO. Observe que o acento agudo nas leituras direta ou vice-versa incide sempre na mesma letra.
Palíndromos imperfeitos: são aqueles que, não obstante produzidos com respeito às referidas regras, a manutenção dos sinais na mesma letra não é respeitada e podem até desaparecer. SÓ COM O TIO SOMÁVAMOS OITO MOÇOS. Neste exemplo, o acento agudo da palavra "SÓ" não existe na parte inversa. O de "SOMÁVAMOS" muda de posição quando se lê da direita para esquerda. Ao mesmo tempo, o "C-CECIDILHA", que consta na parte inversa, não aparece na direta. -
fonte:
http://palindromagia.blogspot.com.br/2014/04/assim-sao-os-palindromos_4.html
no caso de haver maiusculas na frase faz com que altere o resultado final! como posso acrescentar no codigo para que fiquem todas minusculas?
ResponderExcluirString texto = "";
String textoinvertido = "";
String textosemespacos = "";
Scanner s = new Scanner(System.in);
texto = s.nextLine();
textosemespacos = texto.replace(" ","");
for(int i=textosemespacos.length()-1; i>=0; i--){
textoinvertido += textosemespacos.charAt(i);
}
if(textoinvertido.equals(textosemespacos))
System.out.println("É Palíndromo");
else
System.out.println("Não é Palíndromo");
}
}
texto = texto.toUpperCase();
Excluirdeixa todo o texto em maisculo
ou
texto = texto.toLowerCase();
deixa em minusculo
Este comentário foi removido pelo autor.
ResponderExcluirEste comentário foi removido pelo autor.
Excluirpublic static boolean isPalindromo(String palavra){
ResponderExcluirStringBuilder param = new StringBuilder();
StringBuilder paramInv = new StringBuilder();
param.append(palavra);
paramInv.append(param.reverse());
return param.toString().equalsIgnoreCase(palavra.toString());
}