O código abaixo retorna o erro: Exception in thread "main" java.lang.NullPointerException at Empresa.adiciona(TestaEmpresa.java:65) at TestaEmpresa.main(TestaEmpresa.java:125)
class Funcionario{
private String nome;
public String departamento;
public Data dataEntrada;
private double salario;
public double getSalario() {
return this.salario;
}
public void setSalario(double salario) {
this.salario = salario;
}
public String getNome() {
return this.nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getDepartamento() {
return this.departamento;
}
public void setDepartamento(String departamento) {
this.departamento = departamento;
}
void mostra() {
System.out.println("Departamento: " + this.departamento);
System.out.println("Salário: " + this.salario);
System.out.println("Data: " + this.dataEntrada);
System.out.println("Ganho anual: " + this.calculoGanhoAnual());
}
void recebeAumento(double valorASerDepositado) {
this.salario += valorASerDepositado;
}
double calculoGanhoAnual (){
return this.salario * 12;
}
}
class Empresa{
String nome;
int cnpj;
private Funcionario[] funcionarios;
int livre = 0;
public int getCNPJ() {
return this.cnpj;
}
public void setCNPJ(int cnpj) {
this.cnpj = cnpj;
}
public Funcionario getFuncionario (int posicao) {
return this.funcionarios[posicao];
}
void adiciona(Funcionario f){
this.funcionarios[this.livre] = f;
this.livre++;
}
//void mostraEmpregados() {
// for (int i = 0; i < this.livre; i++) {
// System.out.println("Funcionário na posição: " + i);
// System.out.println("R$" + this.funcionarios[i].salario);
// }
// }
//void mostraTodasAsInformacoes() {
// for (int i = 0; i < this.livre; i++) {
// System.out.println("Funcionário na posição: " + i);
// System.out.println("Nome: " + this.funcionarios[i].nome);
// System.out.println("R$" + this.funcionarios[i].salario);
// System.out.println("Departamento: " + this.funcionarios[i].departamento);
// System.out.println("RG: " + this.funcionarios[i].rg);
// }
// }
public boolean contem (Funcionario f){
for (int i = 0; i < this.funcionarios.length; i++) {
if (f ==this.funcionarios[i]){
return true;
}
}
return false;
}
}
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;
}
public String toString() {
return this.dia + "/" + this.mes + "/" + this.ano;
}
}
class TestaEmpresa {
public static void main (String[] args) {
Empresa InterpriseTayana = new Empresa ();
Funcionario[] funcionarios = new Funcionario [10];
for(int i = 0; i < 10; i++){
Funcionario f1 = new Funcionario();
f1.setNome("Luciano");
f1.setSalario(3000);
f1.setDepartamento("T.I");
InterpriseTayana.adiciona(f1);
Funcionario f2 = new Funcionario();
f2.setNome("Tayana");
f2.setSalario(2000);
f2.setDepartamento("R.H");
InterpriseTayana.adiciona(f2);
f2.mostra();
//System.out.println(f1.getNome());
//System.out.println(f1.getSalario());
}
}
}