Duvida: Como comprarar uma String?

3 respostas
W

Ae galera, estou tentando comparar uma string para saber se ela possui um caractere de operador. Pra isso estou chamando no metodo main atraves do seguinte comando:

if (operador(expr) != 0) {

System.out.print (Operador);

}

Em que expr é uma string que foi digitada via teclado.
O metodo operador faz o seguinte:

private static int operador (String c) {

if (c == +) {

return 1;

} else if (c == -) {

return 2;

} else if (c == *) {

return 3;

} else if (c == /) {

return 4;

} else {

return 0;

}

}

Ou seja, iria imprimir a palavra “Operador” caso eu tivesse digitado um operador.
O problema é que quando digito um operador, o programa passa direto pelo if… como se o metodo operador so rotornasse o 0…

Como devo fazer?

3 Respostas

R

para comparar Strings, use:

str1.equals("+");

o comparador == soh serve p/ numeros…

falow

cv1
"rbarioni":
o comparador == soh serve p/ numeros....

Na verdade, o operador lógico == serve apenas para tipos primitivos. Quando usado em objetos, ele retorna true apenas quando os objetos comparados forem os mesmos:

Object o1 = new Object();
Object o2 = new Object();

boolean b1 = o1 == o2; // false

o2 = o1;

boolean b2 = o1 == o2; // true
R

putz…verdade cv…

vi isso varias vezes no forum, mas mesmo assim dei essa mancada com o colega…

foi mal ae… :oops: :oops: :oops:

falow

Criado 15 de maio de 2003
Ultima resposta 15 de mai. de 2003
Respostas 3
Participantes 3