Criei a class Funcionario, Empresa com o atributo Funcionario[] funcionarios, TesteFuncionario Esta mostrando o seguinte erro: C:\CURSOS\ALURA\Java I Primeiros passos\04 - Arrays>javac Funcionario.java
C:\CURSOS\ALURA\Java I Primeiros passos\04 - Arrays>java TesteFuncionario Softwork 12345678901 Exception in thread "main" java.lang.NullPointerException at TesteFuncionario.main(Funcionario.java:51)
O meu maior problema esta em entender o array na da class Funcionario incluido na class Empresa e como tratar na classe TesteFuncionario
class Funcionario { String nome; String depto; double salario; Data datEntradaBanco; String rg;
void mostraFuncionario() { System.out.println("Nome: " + this.nome); System.out.println("Depto: " + this.depto); System.out.println("Salario:" + this.salario); System.out.println("Dia: " + this.datEntradaBanco.dia); System.out.println("Mês: " + this.datEntradaBanco.mes); System.out.println("Ano: " + this.datEntradaBanco.ano); System.out.println("RG: " + this.rg); System.out.println("Ganho Anual: " + this.calculaGanhoAnual()); }
public double calculaGanhoAnual () { double ganhoAnual = 0; return ganhoAnual = this.salario * 12; } }
class Data { int dia; int mes; int ano; }
class Empresa { String nomeEmpresa; String cnpj; Funcionario[] funcionarios;
void mostraEmpresa() { System.out.println(this.nomeEmpresa); System.out.println(this.cnpj); } }
class TesteFuncionario { public static void main(String[] args) { Empresa emp = new Empresa(); emp.nomeEmpresa = "Softwork"; emp.cnpj = "12345678901"; emp.mostraEmpresa(); emp.funcionarios = new Funcionario [10];
// emp.funcionarios[0].datEntradaBanco = new Data(); emp.funcionarios[0].datEntradaBanco.dia = 10; emp.funcionarios[0].datEntradaBanco.mes = 8; emp.funcionarios[0].datEntradaBanco.ano = 2011; emp.funcionarios[0].nome = "Ricardo"; emp.funcionarios[0].depto = "Informatica"; emp.funcionarios[0].salario = 10000.0; emp.funcionarios[0].rg = "123456"; emp.funcionarios[0].mostraFuncionario(); } }