Nas ultimas linhas, em empresa.empregados[0].calculaGanhoAtual(); Nada acontece e quanto troco para mostra(); aparece o seguinte erro : Exception in thread "main" java.lang.NullPointerException at Funcionario.mostra(Programa.java:32) at TesteEmpresa.main(Programa.java:85)
class Empresa
{
String nome;
String cnpj;
Funcionario[] empregados;
int livre = 0;
void adiciona(Funcionario f){
this.empregados[this.livre] = f;
this.livre ++;
}
}
class Funcionario
{
Pessoa pessoa;
String departamento;
double salario;
void recebeAumento(double aumento){
this.salario += aumento;
}
double calculaGanhoAnual(){
return this.salario * 12;
}
void mostra(){
pessoa.mostra();
System.out.println("Departamento: "+this.departamento);
System.out.println("Salário: "+this.salario);
}
}
class Pessoa
{
String nome;
String rg;
Data entrada;
void mostra(){
System.out.println("Nome: "+this.nome);
System.out.println("RG: "+this.rg);
entrada.mostra();
}
}
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;
}
void mostra(){
System.out.println(dia + "/" + mes + "/" + ano);
}
}
class TesteEmpresa
{
public static void main(String[] args)
{
Empresa empresa = new Empresa();
empresa.empregados = new Funcionario[10];
Funcionario igor = new Funcionario();
igor.salario = 1000.00;
empresa.adiciona(igor);
Funcionario renan = new Funcionario();
renan.salario = 2000.00;
empresa.adiciona(renan);
empresa.empregados[0].calculaGanhoAnual();
}
}