Várias condições

8 respostas
I

olá, tenho que fazer várias, mas várias, condições de strings e queria saber se existe uma maneira melhor de fazer do que com if, veja código:

public static String recebeStr(String str) {
    if ((str == "oi) || (str == "bazuca") || (str == "ola") || (str == "bacalhau") || (str == "cd")) {
   return str
} else {
   return "msg errada";
}

}

A lógica é essa, ignore erros de sintaxe e a comparação de strings via "==" (naum por equal()), eu ecsrevi direto no post.

8 Respostas

R

Somente com if()s mesmo. Voce nao pode usar swtich() com Strings. Um ultimo detalhe: Como no primeiro if() vc ja da um return, o else nao eh necessario… Ou seja, o seu codigo, arrumado, ficaria assim:

public static String recebeStr(String str) {
    if ("oi".equals(str) ||"bazuca".equals(str) || "ola".equals(str) || "bacalhau".equals(str) || "cd".equals(str)) {
        return str
    } 
     
    return "msg errada";
 }

Rafael

I

der, erro feio, valeu Rafael, poxa q pena, o código fica uma bagunça desta maneira, pior q saum strings sem sentido algum, naum tem lógica, dai tem q ser no braço hehehe.

valeu

R

Bom, voce pdoe fazer um metodo que recebe as strings a serem comparadas, ao inves de fazer no braco. Algo como

public String recebeStr(String[] ok, String str) {
    for (int i = 0; i < ok.length; i++) {
        if (ok[i].equals(str)) {
            return str;
        }
    }

    return "msg errada";
}

...
String[] ok = { "cd", "bacalhau", "xxx" };
String s = recebeStr(ok, "blah")

Rafael

I

cara boa Idéia, fica melhor, mais uma vez valeu Rafael;.

G
Tenda isso:

Vector nomes = new Vector();

nomes.add(eu);

nomes.add(tu);

nomes.add(eles);

if(nomes.contains(str))

return str

else return msg errada;

Eu to usando aki e funcia!

I

Isso, funca mesmo, parecido com a solução do rafael…

R

Epa, Vector é classe de satanás!! Afasta-te dela!!!

I

UHAuhauhauhahuahuauh, vc q é Java Evangelista qual seria o nome do vetor?

HolyVetor?

Criado 8 de abril de 2005
Ultima resposta 8 de abr. de 2005
Respostas 8
Participantes 4