Opa, boa tarde.
Estou empacado nesse exercício...rs
Segue o erro que me retorna:
Exception in thread "main" java.lang.NullPointerException at src.TestaFuncionario.main(TestaFuncionario.java:16)
Segue meus codigos:
Empresa.java
'''public class Empresa {
String nome; String endereco; String dono; String cnpj; Funcionario[] empregados; int livre = 0;
void adiciona(Funcionario f){ this.empregados[this.livre] = f; this.livre++; }
} '''
Funcionario.java
''' class Funcionario { String nome; String departamento; int idade; String rg; Data inicio; double salario;
void promocao(String promocaoFuncionario){ departamento = promocaoFuncionario; }
void aumento (double recebeAumento ){ salario += recebeAumento; }
double calculaGanhoAnual(){ return this.salario * 12; }
void mostra (){ System.out.println ("Nome: " + this.nome ); System.out.println ("Idade: " + this.idade ); System.out.println ("RG: " + this.rg ); System.out.println ("Departamento: " + this.departamento ); System.out.println ("Data de inicio: " + this.inicio.getFormatada()); System.out.println ("Salario: " + this.salario ); System.out.println ("Salario anual: " + this.calculaGanhoAnual()); } } '''
Data.java
'''public 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; }
String getFormatada (){ return this.dia + "/" + this.mes + "/" + this.ano; }
}'''
TesteFuncionario.java
'''public class TestaFuncionario {
public static void main ( String [] args){
Empresa marru = new Empresa(); marru.empregados = new Funcionario[5];
Funcionario marcio = new Funcionario(); marcio.nome = "Marcio Oggiam"; marcio.idade = 30; marcio.salario = 10000; marcio.rg = "1234556"; marcio.departamento = "TI"; marcio.inicio.preencheData(05, 05, 2015); marru.adiciona(marcio);
Funcionario veio = new Funcionario(); veio.nome = "Antonio"; veio.idade = 99; veio.salario = 20000; veio.rg = "1"; veio.departamento = "Chefe de obra"; veio.inicio.preencheData(02, 05, 2015); marru.adiciona(veio);
Funcionario marciopai = new Funcionario(); marciopai.nome = "Marcio Pai"; marciopai.idade = 52; marciopai.salario = 80000; marciopai.rg = "2222"; marciopai.departamento = "Presidente"; marciopai.inicio.preencheData(02, 05, 2015); marru.adiciona(marciopai);
marru.empregados[0].mostra(); marru.empregados[1].mostra(); marru.empregados[2].mostra();
} }'''