Tenho a classe Empresa que tem um vetor de funcionarios que por fim tem uma variavel data q é uma outra classe. Por algum motivo no meu main, quando eu tento atribuir valor a minha da erro.O que estou fazendo de errado?
class Empresa{
String nome;
String cnpj;
Funcionario[] func;
int livre = 0;
void adicionarFuncionario(Funcionario f){
this.func[this.livre] = f;
this.livre++;
}
}
class Funcionario{
String nome;
String departamento;
double salario;
Data data;
String rg;
void aumentaSalario(double valor){
this.salario += valor;
}
double ganhoAnual(){
return this.salario * 12;
}
void mostra(){
System.out.println("Nome: "+ this.nome);
System.out.println("Departamento: "+ this.departamento);
System.out.println("Salario: "+ this.salario);
System.out.println("Data de Entrada: "+ this.data.getFormatada());
System.out.println("Rg: "+ this.rg);
}
}
class Data{
int dia;
int mes;
int ano;
String getFormatada() {
return this.dia + "/" + this.mes + "/" + this.ano;
}
}
class testaEmpresa{
public static void main(String[] args){
Empresa empresa = new Empresa();
empresa.func = new Funcionario[10];
Funcionario f1 = new Funcionario();
f1.salario = 400;
f1.nome = "felipe";
f1.departamento = "faxina";
f1.rg = "123123123";
f1.data.dia = 11;
f1.data.mes = 03;
f1.data.ano = 1997;
empresa.adicionarFuncionario(f1);
Funcionario f2 = new Funcionario();
f2.salario = 400;
empresa.adicionarFuncionario(f2);
empresa.func[0].mostra();
empresa.func[1].mostra();
}
}
ERRO:
root@FelipePc:/home/felipe/java/aula 3# java testaEmpresa Exception in thread "main" java.lang.NullPointerException at testaEmpresa.main(funcionario.java:58)