Erros: void

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???

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

veja:

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

} [/code]

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

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

} [/code]

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

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; 
} 

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.

[quote=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.[/quote]

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,“3232133213”,true);

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