Pq num funciona?

11 respostas
Richeli

[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]

11 Respostas

A

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

Richeli

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!!!

A

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

ACDias

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"); }

Richeli

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.

peczenyj

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:

Richeli
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...
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");
        }
    }
}
A

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:

Richeli

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

A

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

Richeli

Valeu mesmo…

Criado 5 de outubro de 2006
Ultima resposta 7 de out. de 2006
Respostas 11
Participantes 4