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