Bom, imagino que meu código está OK. Porém depois de compilar as classes, Data e Funcionario e a Principal (main), recebo o seguinte erro quando tento definir o valor para o dia da Data.
O erro é:
Integer number too large : 08
carlos.dataDeEntrada.addData(08,03,2014);
Ou seja, ele diz que o numero 08 é muito grande para um int. Isso não tem lógica.
Abaixo os meus códigos:
class Data {
int dd, mm, aa;
void addData(int dd, int mm, int aa){
this.dd = dd;
this.mm = mm;
this.aa = aa;
}
}
class Funcionario {
String nome;
double salario = 0;
String departamento;
Data dataDeEntrada;
String rg;
void recebeAumento(double valor){
this.salario += valor;
}
double calculaGanhoAnual(){
return this.salario * 12;
}
void mostra(){
System.out.println("Nome: "+this.nome);
System.out.println("Departamento: "+this.departamento);
System.out.println("Data de Entrada:/nDia: "+this.dataDeEntrada.dd+"/nMes: "+this.dataDeEntrada.mm+"/nAno: "+this.dataDeEntrada.aa);
System.out.println("RG: "+this.rg);
System.out.println("Salario: "+this.salario);
System.out.println("");
}
}
public class Principal {
public static void main(String[] args) {
Funcionario carlos = new Funcionario();
carlos.nome = "Carlos Almeida";
carlos.salario = 724;
carlos.departamento = "Atendimento";
carlos.rg = "1020030";
carlos.dataDeEntrada = new Data();
// Setando Data
carlos.dataDeEntrada.addData(08,03,2014);
carlos.mostra();
}
}