Galera
Boa tarde,
Alguém poderia me tirar uma dúvida. Estou tentando criar um empregado na classe , mas esta retornando erro. Abaixo o código:
package Exercícios;
class Empresa{
String nome;
int cnpj;
Funcionario[] empregados;
int livre = 0;
void imprimeFuncionarios(){
for(int i = 0; i < 10; i++){
Funcionario funcionario = this.empregados[i];
if(funcionario == null) continue;
System.out.println(this.empregados[i].nome);
}
}
void mostraEmpregados(){
for(int b = 0; b < this.empregados.length; b++){
System.out.println(this.empregados[b].nome);
}
}
void adiciona(Funcionario f) {
this.empregados[livre] = f;
livre++;
}
void mostraPosicaoLivre(){
for(int c = 0; c < this.livre; c ++){
System.out.println(this.livre);
}
}
}
class Data{
int dia;
int mes;
int ano;
public void preencherData(int dia, int mes, int ano){
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
//@Override
//public String toString(){
// return dia + "/" + mes + "/" + ano;
String getFormatada() {
return this.dia + "/" + this.mes + "/" + this.ano;
}
}
class Funcionario{
String nome;
String departamento;
int salario;
int RG;
Data dataDeEntrada;
void recebeAumento(double valor){
//double novoSalario= this.salario + valor;
//this.salario = novoSalario;
this.salario += valor;
}
double calculaGanhoAnual(){
return this.salario * 12;
}
void mostra(){
System.out.println("Nome: " + this.nome);
System.out.println("Departamento: " + this.departamento);
System.out.println("Salario: " + this.salario);
System.out.println("Data de Entrada: " + this.dataDeEntrada.getFormatada());
System.out.println("RG: " + this.RG);
System.out.println("Ganho Anual: " + this.calculaGanhoAnual());
}
}
class TestaEmpresa{
public static void main(String[] args){
Empresa empresa = new Empresa();
empresa.empregados = new Funcionario[10];
empresa.empregados[0].nome = "Vitor";
}
}
Basicamente, estou criando o empregado Vitor, através do método:
empresa.empregados[0].nome = "Vitor";
// Eu raciocinei da seguinte forma, a empresa possui um empregado na posição 0 do vetor empregados (Funcionarios), de nome Vitor.
Mas ocorre o erro abaixo:
Exception in thread "main" java.lang.NullPointerException at Exercícios.TestaEmpresa.main(Exercicio_v2.java:92) C:\Users\vsampaio\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1 FALHA NA CONSTRUÇÃO (tempo total: 0 segundos)
Alguém poderia me dizer o que esta errado, e me passar uma forma clara de entendimento, estou tendo um pouco de dificuldades na ótica de orientação a objetos.
Obrigado desde já.
Att Vitor