O código.
class Funcionario {
String nome;
String departamento;
double salario;
Data dataCadastro;
String rg;
class Data {
int dia;
int mes;
int ano;
void preencheData(int dia, int mes, int ano) {
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
}
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("Salário: R$" + this.salario);
System.out.println("Data de entrada: " + this.dataCadastro.preencheData.dia);
System.out.println("Data de entrada: " + this.dataCadastro.preencheData.mes);
System.out.println("Data de entrada: " + this.dataCadastro.preencheData.ano);
System.out.println("RG: " + this.rg);
System.out.println("Ganho anual: R$" + this.calculaGanhoAnual());
}
}
class Programa{
public static void main(String[]args){
Funcionario douglas = new Funcionario();
douglas.nome = "Douglas Ferreira da Silva";
douglas.departamento = "vendas";
douglas.salario = 4000;
douglas.dataCadastro = new Data();
douglas.dataCadastro.preencheData(19,10,1988);
douglas.rg = "15245151";
Funcionario carlos = new Funcionario();
carlos.nome = "Carlos Silva";
carlos.departamento = "RH";
carlos.salario = 2500;
carlos.dataCadastro = new Data();
carlos.dataCadastro.preencheData(01,05,2010);
carlos.rg = "12515548";
Funcionario henrique = new Funcionario();
carlos.nome = "Henrique Silva";
carlos.departamento = "Financeiro";
carlos.salario = 200;
carlos.dataCadastro = new data();
carlos.dataCadastro.preencheData(05,09,2002);
carlos.rg = "98547545";
douglas.mostra();
carlos.mostra();
henrique.mostra();
}
}
O erro apresentado.
aula3ex8.java:71: error: integer number too large: 09
carlos.dataCadastro.preencheData(05,09,2002);
Pq isso acontece?