Pq num funciona?

[size=12][size=18]
package palindromo;

import javax.swing.*;

public class palindromo {

public static void main (String[] args){

String frase =JOptionPane.showInputDialog("Digite a frase a ser analisada: ");
int tam= frase.length();
String recebe[];
for (int i = 0; i&lt= tam; i++){
    if (frase[i]==" ") || (frase[i]== "-") ||(frase[i]==",") || (frase[i]!==".")
        frase[i]="";
}
 tam= frase.length();// renova o tamanho da frase
    for (int i=0; i&lt= tam; i++)
    for (int j=tam; j=0; j--){
    recebe[j]=frase[i];         // passa os dados da frase para a recebe
    }
}

private boolean ePalindroma(String s)
{ for (i=0;i&lt=tam; i++)
if (frase.charAt[i])==(recebe.charAt[i]){
return true;
}System.out.println(ePalindroma);
}
}
}

Gente, a idéia desse programa eh ver se a palavra ou frase digitada no console eh ou não uma palavra palíndroma! Mas num tah funcionando quem quiser me dar uma mãozinha, eu agradeço!!!
Os erros q apareceram no painelzinho em baixo foram esses :

C:\Documents and Settings\admin\Desktop\Palindromo\src\palindromo\palindromo.java:23: illegal start of expression

 [size=12][size=9]   if (frase[i]==" ") || (frase[i]== "-") ||(frase[i]==",") || (frase[i]!==".")

C:\Documents and Settings\admin\Desktop\Palindromo\src\palindromo\palindromo.java:34: illegal start of expression

    if (frase.charAt[i])==(recebe.charAt[i]){[/size][/size][/size][/size]

tem isso aqui…

String frase = "arara"; String novaFrase= ""; for (int i=frase.length()-1; i>=0; i--) { novaFrase = novaFrase + frase.charAt(i); } if (frase.equals(novaFrase)) { System.out.print("É Palindromo"); } else { System.out.print("Não é Palindromo"); }

axo q ficou mais fácil

Brigadaum,

Realmente fica mais fácil assim, mas o probrlema é que eu preciso ler uma frase do console e nas frases podem existir espaços… e os espaços podem interferir…

Se fosse apenas palavras, estaria perfeito!!!

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String frase=""; try { frase = reader.readLine(); } catch (IOException e) { // TODO Bloco catch gerado automaticamente e.printStackTrace(); } String novaFrase= ""; for (int i=frase.length()-1; i>=0; i--) { novaFrase = novaFrase + frase.charAt(i); } if (frase.equals(novaFrase)) { System.out.print("É Palindromo"); } else { System.out.print("Não é Palindromo"); } }

tenta isso intaum… o espaço naum vai interfir… por exemplo… se tu digitar asd dsa… ele vai verificar q eh um palindromo

Desse jeito eu nunca tentei. Mas assim deve funcionar tb:

Scanner sc = new Scanner(System.in); String frase = sc.next(); String novaFrase= ""; for (int i=frase.length()-1; i&gt=0; i--) { novaFrase = novaFrase + frase.charAt(i); } if (frase.equals(novaFrase)) { System.out.print("É Palindromo"); } else { System.out.print("Não é Palindromo"); }

Os espaços interferem pq se eu coloco por exemplo a famosa frase :
“SOCORRAM ME SUBI NO ONIBUS EM MARROCOS”
esta é uma frse palíndroma q num seria considerada por conta dos espaços.
Outro detalhe tbm eh que se por exemplo digito Arara, ele num considera como palíndroma tbm por conta da maiúscula.

pegue a sua string, manda fazer um “replace all” em todos os caracteres espaco por nada, e jogue para outra string, que vc verificará se é palindromo ou não :wink:

Beleza, fiz isso (eu acho), mas mesmo assim num considera como palíndroma. Num sei se iz certo, por isso to mandando o códico como que ficou…

[code]public class palindrome {

/** Creates a new instance of palindrome */
public palindrome() {
    
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    String frase="";
    try {
        frase = reader.readLine();
    } catch (IOException e) {
        // TODO Bloco catch gerado automaticamente
        e.printStackTrace();
    }
    frase.toUpperCase();
    frase.replaceAll(""," ");
    int tam = frase.length();
    String novaFrase= "";
    for (int i=tam-1; i>=0; i--) {
        novaFrase.toUpperCase();
        novaFrase = novaFrase + frase.charAt(i);
        novaFrase.replaceAll(""," ");
    }
    if (frase.equals(novaFrase)) {
        System.out.print("É Palindromo");
    } else {
        System.out.print("Não é Palindromo");
    }
}

}[/code]

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String frase = ""; String temp = ""; String novaFrase = ""; try { frase = reader.readLine(); } catch (IOException e) { // TODO Bloco catch gerado automaticamente e.printStackTrace(); } for (int i = 0; i<= frase.length()-1; i++) { if (frase.charAt(i) == ' ') i++; temp = temp + frase.charAt(i); } for (int i = frase.length() - 1; i >= 0; i--) { if (frase.charAt(i) == ' ') i--; novaFrase = novaFrase + frase.charAt(i); } if (temp.equals(novaFrase)) { System.out.print("É Palindromo"); } else { System.out.print("Não é Palindromo"); } }

nohhh cara… eu q viajei aki… tenta essa aki… esse da certo :slight_smile:

valeeeeuuuuu!!!
Valeu mesmo, mas posso te amolar soh mais um pouquinhu???
Como que eu faço com as letras maiúsculas??? se eu coloco uma letra maiúcula daí ele jah num reconhece! tentei o toUpper case, mas num sei se usei direito

eh soh colocar o temp = temp.toUpperCase() depois do primeiro for e novaFrase = novaFrase.toUpperCase(); depois do segundo for
:slight_smile:
Blz cara…

Valeu mesmo…