Por que o código abaixo não está compilando? Está gerando erro de null pointer exception.
public class Funcionario {
String nome;
String departamento;
double salario;
String rg;
double ganhoanual;
Data dataDeEntrada;
void recebeAumento(double valor) {
this.salario = this.salario + valor;
}
double calculaGanhoAnual() {
return salario * 12;
}
void mostra() {
System.out.println("Nome: " + this.nome);
System.out.println("Deepartamento: " + this.departamento);
System.out.println("Salário: " + this.salario);
System.out.println("Dia Entrada: "+this.dataDeEntrada.dia);
System.out.println("Mês Entrada: "+this.dataDeEntrada.mes);
System.out.println("Ano de Entrada: "+this.dataDeEntrada.ano);
System.out.println("RG: " + this.rg);
System.out.println("Salário Anual: "+calculaGanhoAnual());
}
}
public class Data {
int dia;
int mes;
int ano;
void mostraData(int dia, int mes, int ano) {
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
}
public class TestaFuncionario {
public static void main(String[] args) {
Funcionario f1 = new Funcionario();
f1.nome = "Mariana";
f1.departamento="Financeiro";
f1.salario = 300;
f1.rg="4343";
f1.recebeAumento(50);
f1.dataDeEntrada.dia=11;
f1.dataDeEntrada.mes=07;
f1.dataDeEntrada.ano=1965;
f1.mostra();
}
}