Não entendi o motivo da exceção:
public class TestaEmpresa {
public static void main(String[] args) {
Empresa empresa = new Empresa();
empresa.empregados = new Funcionario[10];
for (int i = 0; i < 5; i++) {
Funcionario f = new Funcionario();
f.salario = 1000 + i * 100;
f.nome = "teste";
empresa.adiciona(f);
}
// empresa.empregados[0].mostra();
// empresa.empregados[1].mostra();
empresa.mostraEmpregados();
}
void mostraEmpregados() {
for (int i = 0; i < this.livre; i++) {
System.out.println("Funcionário na posição: " + i);
System.out.println("Nome: " + this.empregados[i].nome);
System.out.println("R$" + this.empregados[i].salario);
System.out.println("Datade entrada: " + this.empregados[i].dataEntrada);
System.out.println("Departamento: " + this.empregados[i].departamento);
System.out.println("RG: " + this.empregados[i].rg);
}
}