Erros: void

4 respostas
R

Estou fazendo o seguinte exercício:

import java.util.*;

public class Funcionario {

String nome, departamento;

double salario, bonus;

Date data_entrada;

Integer rg;

boolean na_empresa = true;
public bonifica(double vbonus) { //[color=red][b]ERRO: Tipo de retorno requerido[/b][/color] 
    bonus = salario * vbonus;
    return bonus;     //[color=red][b]ERRO[/b][/color] 

}
public void demite () {
    na_empresa = false;
}

}

E o respectivo arquivo com o método main

public class usaFuncionario {
public static void main(String[] args) {

Funcionario fc = new Funcionario();

    fc.bonifica(500);
    fc.nome = "ronaldo silva";
    fc.salario = 10000;
    fc.demite();

    System.out.println ("Bonus de " + fc.bonifica(500)); //[color=red][b]ERRO: Void type not allowed here.[/b][/color]    
   }

}

Alguem pode me ajudar???

4 Respostas

vhmolinar

Esse seu método deve ter um tipo de retorno.

veja:

public bonifica(double vbonus) { //ERRO: Tipo de retorno requerido
bonus = salario * vbonus;
return bonus; //ERRO

}

para que o mesmo funcionasse corretamente, de acordo com o tipo das variáveis criadas na classe funcionário deveria estar assim:

public double bonifica(double vbonus) { 
bonus = salario * vbonus;
return bonus; 

}

O segundo problema citado em seu código se resolve automaticamente com a solução do primeiro.

WendersonLP

quando você quer que uma função retorne alguma coisa,
você tem que especificar o tipo de retorno,
no seu caso um double.

//faltou o double
public double bonifica(double vbonus) {
bonus = salario * vbonus;
return bonus; 
}
R

Valeu. Era isso mesmo.

Outra coisa: nesse mesmo exercício, estou querendo adicionar uma data. Como ela ficaria?
Sabe-se que o objeto data foi definido quando eu fiz Date data_entrada; mas, e agora? Para eu adicionar uma data, por que eu não posso fazer data_entrada = 01/05/2009?
Está dando erro.

R

r063rio:
Valeu. Era isso mesmo.

Outra coisa: nesse mesmo exercício, estou querendo adicionar uma data. Como ela ficaria?
Sabe-se que o objeto data foi definido quando eu fiz Date data_entrada; mas, e agora? Para eu adicionar uma data, por que eu não posso fazer data_entrada = 01/05/2009?
Está dando erro.

Por favor, desconsiderem essa mensagem. Pesquisando um pouco, descobri que posso fazer:

class Data {

int dia;

int mes;

int ano;
public Data(int dia, int mes, int ano){   
           this.dia=dia;   
           (...)   
    }
}

E, na classe usaFuncionario, instanciar essa classe, inserindo a data assim:

Data data = new Data(20,10,1999);

Funcionario funcionarioA = new Funcionario(data,Joao Pinto,Caixa,1100,[telefone removido],true);

Fonte: http://208.109.100.149/posts/list/31965.java

Criado 30 de junho de 2009
Ultima resposta 30 de jun. de 2009
Respostas 4
Participantes 3