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:
[code]public static String recebeStr(String str) {
if ((str == "oi) || (str == “bazuca”) || (str == “ola”) || (str == “bacalhau”) || (str == “cd”)) {
return str
} else {
return “msg errada”;
}
}[/code]
A lógica é essa, ignore erros de sintaxe e a comparação de strings via “==” (naum por equal()), eu ecsrevi direto no post.
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
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
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
cara boa Idéia, fica melhor, mais uma vez valeu Rafael;.
giu
Abril 8, 2005, 3:32pm
#6
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!
Isso, funca mesmo, parecido com a solução do rafael…
Epa, Vector é classe de satanás!! Afasta-te dela!!!
UHAuhauhauhahuahuauh, vc q é Java Evangelista qual seria o nome do vetor?
HolyVetor?