Minha resposta está de acordo com a resposta proposta pelo instrutor, no entanto quando estava testando sempre dava erro mesmo eu tendo certeza que a parte pedida no exercício estava correta, então a pergunta é, em qual parte eu errei?
Código:
class Empresa {
int cnpj;
String nome;
Funcionario[] funcionario;
int posic;
void adicionar(Funcionario f) {
this.funcionario[this.posic] = f;
this.posic++;
}
void imprimeEmpresa(){
System.out.println(this.nome);
System.out.println(this.cnpj);
for(int i=0; i<this.funcionario.length; i++) {
Funcionario aux = this.funcionario[i];
if(aux == null)
continue;
System.out.println(aux.nome + " | " + aux.salario);
}
}
}
class Funcionario {
double salario;
String nome;
}
class Array {
public static void main(String[] args) {
Empresa e = new Empresa();
e.posic = 0;
e.nome = "Casa S.A.";
e.cnpj = 190190;
Funcionario f = new Funcionario();
f.nome = "Julio";
f.salario = 10.0;
e.adicionar(f);
e.imprimeEmpresa();
}
}
O exercício pedia para fazer a função adicionar.
O erro que recebo é: Exception in thread "main" java.lang.NullPointerException at Empresa.adicionar(04_Arrays.java:8) at Array.main(04_Arrays.java:38).
Obrigado.