package modulo2;
import java.util.Scanner;
public class Palindroma {
static Scanner sc = new Scanner(System.in);
public Palindroma() {
}
public static void main (String[] args) {
System.out.println ("Digite o texto: ");
String texto = sc.nextLine();
ePalindroma(texto);
}
public static void ePalindroma (String texto) {
int inicio = 0;
int fim = 0;
int espaco = 0;
for (int i = 0; i < texto.length() - 1; i++) {
for (int j = espaco + 1; j < texto.length(); j++) {
String s1 = "";
String s2= "";
if (texto.charAt(i) != ' ') {
espaco = i;
fim = i - 1;
while (fim >= inicio) { //Cria a palavra ao contratio
s1 = "";
s1 = s1 + texto.charAt(fim);
fim--;
}
while (fim >= inicio) { //Cria a palavra normal
s2 = "";
s2 = s2 + texto.charAt(inicio);
inicio++;
}
if (s1.equals(s2)) { //Verifica se a palavra invertida é igual a normal
System.out.println (s2 + " é palíndroma."); }
else {
System.out.println (s2 + " não é palíndroma.");
}
}
}
}
}
}
Estou tentando fazer esse programa funcionar. Ele recebe um texto e imprime as palavras que são palindromas e as que não são...
Tem algum erro no for eu acho...ele recebe o texto e imprime a primeira se é palindroma ou não, mas a partir da segunda...ele imprime muitas vezes...se o texto tiver 3 palavras...ele vai imprimir como se tivesse umas 10 palavras...
Obs.: Palindromas são palavras que, lidas de trás pra frente, tem a mesma formação (ordem de letras), por exemplo: rir, arara...
O System.out.println só vai ser executado quando ele encontrar um " "...mas ele tá sendo executado muitas vezes...
Digite o texto: rar arara é palíndroma. é palíndroma. é palíndroma. é palíndroma. é palíndroma. é palíndroma. é palíndroma. é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma. não é palíndroma.