O meu código está dando o erro Exception in thread "main" java.lang.NullPointerException at Funcionario.mostra(Funcionario.java:25) at Empresa.mostraTodasAsInformacoes(Funcionario.java:61) at TestaArrayFuncionario.main(TestaArrayFuncionario.java:29). Qualquer ajuda será muito bem-vinda. Obrigado.
public class TestaArrayFuncionario {
public static void main (String[] args) {
Empresa empresa = new Empresa();
empresa.empregados = new Funcionario[10];
Funcionario f1 = new Funcionario();
f1.nome = "JOSE";
f1.salario = 3000;
f1.depto = "RH";
f1.funcao = "Analista RH";
f1.sexo = "M";
empresa.adiciona(f1);
Funcionario f2 = new Funcionario();
f2.nome = "JOAO";
f2.salario = 4000;
f2.depto = "RH";
f2.funcao = "Gerente";
f2.sexo = "M";
empresa.adiciona(f2);
empresa.mostraTodasAsInformacoes();
}
}
public class Funcionario {
String nome, depto, funcao ;
double salario;
String sexo ;
String estadoCivil;
String RG;
Data dataEntrada ;
void recebeAumento(double valor, Funcionario nome) {
this.salario += valor;
}
double calculaGanhoAnual(){
this.salario *= 12;
return this.salario;
}
void mostra() {
System.out.println("Nome :" + this.nome);
System.out.println("Depto :" + this.depto);
System.out.println("Função :" + this.funcao);
System.out.println("Salário :" + this.salario);
System.out.println("Sexo :" + this.sexo);
System.out.println("Data Admissao :" + dataEntrada.getDataEntrada());
System.out.println("Estado Civil :" + this.estadoCivil);
System.out.println("RG :" + this.RG);
System.out.println("--------------------------------------");
}
}
class Data{
int dia;
int mes;
int ano;
String dataEntrada;
public String getDataEntrada(){
return this.dia + "/" + this.mes + "/" + this.ano;
}
}
class Empresa{
String nome;
String cnpj;
Funcionario[] empregados;
int livre = 0;
public void adiciona(Funcionario f) {
this.empregados[this.livre] = f;
this.livre++;
}
void mostraTodasAsInformacoes() {
for (int i = 0; i <= this.livre; i++) {
System.out.println("Funcionário na posição: " + i);
this.empregados[i].mostra();
}
}
boolean contem(Funcionario f) {
for (int i = 0; i < this.livre; i++) {
if (f == this.empregados[i]) {
return true;
}
}
return false;
}
}