Métodos

8 respostas
M

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…

8 Respostas

danieldestro

tá faltando um return no seu método…

é o que a mensagem diz.

M

aê daniel blz??

eu coloquei um return, retornando o valor do cálculo, mas ainda sim dá o problema…

Mauricio_Linhares

Cola o código aí.

M

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;
							
	}
  }
}
[color=red]Mensagem do moderador: use as tags [code] quando estiver inserindo código, assim você mantém a endentação e legibilidade dele[/color]
Thiago_Senna

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

M

Tô começando a aprender essa parada agora, ainda fico meio perdido na hora de usar os recursos…

Java_Vinicius_Machin

: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!
    }
M

Valeu Vinicius, vou testá-lo… :smiley:

Criado 30 de junho de 2005
Ultima resposta 30 de jun. de 2005
Respostas 8
Participantes 5