publicStringverificacaoEspecialidade(booleanx,Integeresp){if(x==true){if(esp==1){return"Cardiologia";}elseif(esp==2){return"Dermatologia";}elseif(esp==3){return"Neurologia";}/* Significa que aqui não existe um return "", caso x == true && esp != 1 && esp !=2 && esp != 3. Se esp só pode ser 1, 2 ou 3, o último else deve ser apenas else e não else if(qualquerCoisa) */}else{return"Especialidade não encontrada";}}
anunes
public String verificacaoEspecialidade(boolean x, Integer esp){
if ( x == true && esp == 1 && esp !=2 && esp != 3 ){
return "Cardiologia";
}else if ( x == true && esp != 1 && esp == 2 && esp != 3 ){
return "Dermatologia";
}else if ( x == true && esp != 1 && esp != 2 && esp == 3 ){
return "Neurologia";
}else{
return "Especialidade não encontrada";
}
}
}
obrigado, ficou assim
drsmachado
Não, não.
Você poderia manter o mesmo, apenas retirando o último else if
publicStringverificacaoEspecialidade(booleanx,Integeresp){if(x==true){if(esp==1){return"Cardiologia";}elseif(esp==2){return"Dermatologia";}else/*if (esp == 3)*/{//Este else if só tem sentido caso esp possa receber valores diferentes de 1, 2 ou 3//caso contrário, como esp só pode ser 1, 2 ou 3, você só precisa de um elsereturn"Neurologia";}/* Significa que aqui não existe um return "", caso x == true && esp != 1 && esp !=2 && esp != 3. Se esp só pode ser 1, 2 ou 3, o último else deve ser apenas else e não else if(qualquerCoisa) */}else{return"Especialidade não encontrada";}}
rmendes08
Dica: comparações do tipo
if(x==true)
são redundantes, se x é do tipo booleano então
if(x)
já é suficiente. Além do mais, uma variável com o nome x não quer dizer nada. Dê um nome significativo para suas variáveis.