Olá. O código que eu fiz e postei no site funcionou perfeitamente. Já o código da classe Empresa da resposta do exercício me retornou o erro abaixo.
Por que será esta ocorrendo erro de ponteiro nulo?
Exception in thread "main" java.lang.NullPointerException at EmpresaCerta.adiciona(EmpresaCerta.java:7) at TestaFuncionario.main(TestaFuncionario.java:21)
class TestaFuncionario{ public static void main(String[] args) {
Funcionario func1 = new Funcionario(); func1.nome = "Daniel"; func1.salario = 2000 ; func1.setDataEntBco(10,10,2005);
Funcionario func2 = new Funcionario(); func2.nome = "PAULO"; func2.salario = 1500; func2.setDataEntBco(12,10,2010);
Funcionario func3 = new Funcionario(); func3.nome = "LETICIA"; func3.salario = 3200; func3.setDataEntBco(12,10,2001);
EmpresaCerta emp = new EmpresaCerta();
emp.adiciona(func1); emp.adiciona(func2); emp.adiciona(func3);
}
}
class Funcionario{
String nome; String departamento; double salario; double ganhoAnual; String rg;
Data dataEntradaBanco = new Data();
void setDataEntBco(int d, int m, int a){ this.dataEntradaBanco.setData(d,m,a); }
void recebeAumento(double valor){ this.salario += valor; }
double calculaGanhoAnual(){ this.ganhoAnual = this.salario * 12;
return ganhoAnual; }
void mostra() { // imprime outros atributos... System.out.println("Data de entrada: " + this.dataEntradaBanco.getFormatada()); } }
class EmpresaCerta{ Funcionario[] empregados; String cnpj; int livre = 0;
void adiciona(Funcionario f) { this.empregados[this.livre] = f; this.livre++; } }