Iai ,pessoal!
Estou tentando imprimir os salários dos funcionários que criei (somente dois até agora) porém, depois de compilar e rodar o programa, está aparecendo mais um funcionário e o seguinte erro: "Exception in thread "main" java.lang.NullPointerException at Empresa.mostraEmpregados(TestaFuncionario.java:41) at TestaEmpresa.main(TestaFuncionario.java:93)"
Segue o código abaixo:
class Funcionario{
String nome;
Data dataEntrada;
String rg;
String departamento;
double salario;
void mostra(){
System.out.println("Nome: " + this.nome);
System.out.println("Departamento: " + this.departamento);
System.out.println("Data de Entrada: " + this.dataEntrada.getFormatada());
System.out.println("RG: " + this.rg);
System.out.println("Salario Inicial: " + this.salario);
System.out.println("Ganho Anual: " + this.calculaGanhoAnual() + "\n\n");
}
void recebeAumento(double valorAserAcrescentado){
this.salario += valorAserAcrescentado;
}
double calculaGanhoAnual(){
return this.salario * 12;
}
}
class Empresa{
String nome;
String cnpj;
Funcionario[] empregados;
int livre = 0;
void adiciona(Funcionario f){
this.empregados[this.livre] = f;
this.livre++;
}
void mostraEmpregados(){
for(int i = 0; i < this.empregados.length; i++){
System.out.println("Empregado " + (i+1));
System.out.println("Salario: R$ " + this.empregados[i].salario);
}
}
}
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;
}
}
class TestaEmpresa{
public static void main(String[] args){
Empresa empresa = new Empresa();
empresa.empregados = new Funcionario[10];
Funcionario f1 = new Funcionario();
f1.dataEntrada = new Data();
f1.salario = 6000;
f1.nome = "Thalys";
f1.dataEntrada.preencheData(14,8,2015);
f1.rg = "123456789";
f1.departamento = "Estudos Java";
empresa.adiciona(f1);
Funcionario f2 = new Funcionario();
f2.dataEntrada = new Data();
f2.salario = 2000;
f2.nome = "Sylath";
f2.dataEntrada.preencheData(13,8,2015);
f2.rg = "123456787";
f2.departamento = "Estudos Java";
empresa.adiciona(f2);
empresa.empregados[0].mostra();
empresa.empregados[1].mostra();
empresa.mostraEmpregados();
}
}