terça-feira, 22 de julho de 2014

Lista de exercícios de estruturas de repetições - 29 - Palíndromos são palavras (frases também) que são iguais quando lidas de frente para trás e de trás para frente. (Desconsidere acentos e sinais digitados). Num palíndromo, normalmente são desconsiderados os sinais ortográficos (diacríticos ou de pontuação), assim como os espaços entre palavras, bem como maiúsculas e minúsculas.

//Questao29
Palíndromos são palavras (frases também) que são iguais quando lidas de frente para trás e de trás para frente. (Desconsidere acentos e sinais digitados).
Num palíndromo, normalmente são desconsiderados os sinais ortográficos (diacríticos ou de pontuação), assim como os espaços entre palavras, bem como maiúsculas e minúsculas.

Exemplo a palavra OVO é um palíndromo.
As frases abaixo também são palíndromos:
Ame o poema
Amor a Roma
Ate o poeta
Luz azul
Socorram-me, subi no ônibus em Marrocos

import java.util.Scanner;

public class Questao29 {


public static void main(String[] args) {
Scanner leia = new Scanner(System.in);

String palavra;
String normalizar;

System.out.println("Digite um texto");
// aqui precisamos usar nextLine pois next só pega a primeira palavra
   palavra = leia.nextLine();


// removendo acentos, espacos etc
normalizar = palavra;
normalizar = normalizar.replaceAll("[�����]", "A");
normalizar = normalizar.replaceAll("[�����]", "a");
normalizar = normalizar.replaceAll("[����]", "E");
normalizar = normalizar.replaceAll("[����]", "e");
normalizar = normalizar.replaceAll("����", "I");
normalizar = normalizar.replaceAll("����", "i");
normalizar = normalizar.replaceAll("[�����]", "O");
normalizar = normalizar.replaceAll("[�����]", "o");
normalizar = normalizar.replaceAll("[����]", "U");
normalizar = normalizar.replaceAll("[����]", "u");
normalizar = normalizar.replaceAll("�", "C");
normalizar = normalizar.replaceAll("�", "c");
normalizar = normalizar.replaceAll("[��]", "y");
normalizar = normalizar.replaceAll("�", "Y");
normalizar = normalizar.replaceAll("�", "n");
normalizar = normalizar.replaceAll("�", "N");
normalizar = normalizar.replaceAll("[-+=*&%$#@!_]", "");
normalizar = normalizar.replaceAll("['\"]", "");
normalizar = normalizar.replaceAll("[<>()\\{\\}]", "");
normalizar = normalizar.replaceAll("['\\\\.,()|/]", "");
normalizar = normalizar.replaceAll("[^!-�]{1}[^ -�]{0,}[^!-�]{1}|[^!-�]{1}", " ");
normalizar = normalizar.replaceAll(" ", "");
char[] letras = normalizar.toCharArray();
String inverso = "";
for (int i = letras.length - 1; i >= 0; i--) {
inverso += letras[i];
}
System.out.println("inverso " + inverso );
if ( normalizar.equalsIgnoreCase(inverso) ) {
System.out.println("A frase " + normalizar + " e palindrome");
} else {
System.out.println("A frase " + normalizar + " nao e palindrome");
}
}
}


Nenhum comentário:

Postar um comentário