Não importa o que eu faça sempre dá o mesmo erro: Exception in thread "main" java.lang.NullPointerException at src.TestaFuncionario.main(TestaFuncionario.java:57)
A linha 57 é a linha em que eu coloco a data de nascimento do funcionário, sei que o erro está por aqui, já que quando tiro a linha no método mostra referente a data de nascimento o programa roda normalmente.
class Funcionario {
String departamento;
double salario;
String dataEntradaBanco;
String rg;
Data dataDeNascimento;
void rebeceAumento (double aumento){
this.salario += aumento;
}
double calculaGanhoAnual (){
return salario * 12;
}
void mostra(){
System.out.println("Departamento " + this.departamento);
System.out.println("Salario " + this.salario);
System.out.println("Data de Entrada no Banco " + this.dataEntradaBanco);
System.out.println("RG " + this.rg);
System.out.print("Data de nascimento " + this.dataDeNascimento.getFormatada());
}
}
class Data {
int dia;
int mes;
int ano;
void preencherDataNascimento(int dia, int mes, int ano){
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
String getFormatada(){
return this.dia + "/" + this.mes + "/" + this.ano;
}
}
class Empresa {
String nome;
String cnpj;
Funcionario[] empregados;
int contador = 0;
void adiciona(Funcionario f){
this.empregados[this.contador] = f;
this.contador++;
}
}
class testeEmpresa {
public static void main (String[] args) {
Data dataDeNascimento = new Data();
Empresa ficcao = new Empresa();
ficcao.empregados = new Funcionario[10];
ficcao.empregados[0] = new Funcionario();
Funcionario daniel = new Funcionario();
daniel.salario = 1100.0;
daniel.dataDeNascimento.preencherDataNascimento(10,02,1993);
ficcao.adiciona(daniel);
ficcao.empregados[0].mostra();
}
}