Pessoal,
estou com um problema quando mando compilar o prog. ele ta dando um erro “missing return statement”, o que pode ser isso?? Estou usando switch e if’s…
Métodos
8 Respostas
tá faltando um return no seu método…
é o que a mensagem diz.
aê daniel blz??
eu coloquei um return, retornando o valor do cálculo, mas ainda sim dá o problema…
Cola o código aí.
Eu não sei se está certinho, confere ai fazendo favor...
public double valor()
{
double val=0;
switch (cate)
{
case 1: if(qui/tempo <50)
val=0;
else if(qui/tempo >50)
{
val= qui%tempo*10.0;
if (tempo >7)
val+= val*10/100.0;
return val;
}
break;
case 2: if(qui/tempo <100)
val=0;
else if (qui/tempo >100)
{
val= qui%tempo*20.0;
if (tempo >7)
val+= val*20/100.0;
return val;
}
break;
}
}
}
Há condições em teu código que dependendo do resultado, nunca será chamado um return…
Por que vc não cria uma variável temporária, e armazena os resultados nesta variável. NO final do método, vc retorna o resultado???
Só uma crítica… Esse seu código esta esquisitinho… vc usa um switch que em seguida chama um if??? Loucura!!!
Abraços!
Thiago
Tô começando a aprender essa parada agora, ainda fico meio perdido na hora de usar os recursos…
:thumbdown: Não esqueça de colocar seu código dentro das tags [ code] e
[/ code] da próxima vez, fica melhor de se visualizar e consequentemente você será ajudado mais rápido.
mude seu código assim que tudo vai ficar “bem” :
public double valor () {
double val = 0;
int cate = 0;
int qui = 0, tempo = 0;
switch (cate) {
case 1:
if (qui/tempo <50) {
val=0;
return val;
}
else if(qui/tempo >50) {
val= qui%tempo*10.0;
if (tempo >7)
val+= val*10/100.0;
return val;
}
break;
case 2:
if(qui/tempo <100) {
val=0;
return val;
}
else if (qui/tempo >100) {
val= qui%tempo*20.0;
if (tempo >7)
val+= val*20/100.0;
return val;
}
}
return -1;//caso nenhuma das claúsulas anteriores ocorra!
}
Valeu Vinicius, vou testá-lo… 