Oi pessoal, estou começando com java. Estou fazendo os exercícios da apostila FJ11 e não estou conseguindo achar onde está esse erro, preciso de ajuda.
Empresa.java
public class Empresa {
public String nome;
public String cnpj;
public int i;
public Funcionario[] empregados;
public Empresa(int valor) {
this.empregados = new Funcionario[valor];
}
public void adiciona(Funcionario f){
for (int i = 0; i < empregados.length;i++){
if (this.empregados[i] == null) {
this.empregados[i] = f;
break;
}
else{
System.out.println("Array cheia");
}
}
}
public void mostraEmpregados(){
for (int i = 0; i < empregados.length; i++){
System.out.println("Funcionário na posição: "+i+this.empregados[i].nome);
}
}
}
TestaEmpresa.java
public class TestaEmpresa {
public static void main(String[] args) {
Empresa empresa = new Empresa(10);
Funcionario f1 = new Funcionario();
f1.nome ="Ana";
f1.departamento = "Vendas";
f1.salario = 1000;
Funcionario f2 = new Funcionario();
f2.nome ="José";
f2.departamento = "Compras";
f2.salario = 1000;
empresa.adiciona(f1);
empresa.adiciona(f2);
empresa.mostraEmpregados();
}
Quando rodo a aplicação, dá esse resultado:
Array cheia
Funcionário na posição: 0Ana
Funcionário na posição: 1José
Exception in thread “main” java.lang.NullPointerException
at br.com.juzachi.cinco.Empresa.mostraEmpregados(Empresa.java:31)
at br.com.juzachi.teste.TestaEmpresa.main(TestaEmpresa.java:28)
O que pode ser?
