Boa tarde pessoal
Estou fazendo o exercicio do caítulo 4.12 da apostila f11, estou conseguindo fazer tranquilamento, mas empaquei na hora que pediram para retirar o tipo da variável dataEntrada e criar um objeto Data.
Meu código está assim:
Classe Funcionario:
class Funcionario {
String nome;
String depto;
double salario;
Data dataEntrada;
String rg;
boolean estaNaEmpresa = true;
void bonifica(double aumento) {
this.salario += aumento;
}
void demite () {
this.estaNaEmpresa=false;
}
void mostra() {
System.out.println("Nome "+ this.nome);
System.out.println("Departamento " + this.depto);
System.out.println("Salario " + this.salario);
System.out.println("RG " + this.rg);
System.out.println("Esta na empresa: " + this.estaNaEmpresa);
System.out.println("Dia: " + this.dataEntrada.dia);
System.out.println("Mes: " + this.dataEntrada.mes);
System.out.println("Ano: " + this.dataEntrada.ano);
}
}
Classe Data:
class Data {
int dia;
int mes;
int ano;
}
E o código para com o main:
class TestaFuncionario {
public static void main(String[] args) {
Funcionario f1 = new Funcionario();
f1.nome = "Fiodor";
f1.salario = 100;
f1.depto = "Administrativo";
f1.bonifica(50);
f1.rg = "46.625.123-5 SSP";
f1.estaNaEmpresa = true;
f1.mostra();
Funcionario f2 = new Funcionario();
f2.nome = "Fiodor";
f2.salario = 100;
Data dt = new Data();
f1.dataEntrada = dt;
dt.dia = 1;
dt.mes = 2;
dt.ano = 10;
System.out.println("salario atual "+f1.salario);
if (f1.estaNaEmpresa==true) {
System.out.println("Esta na empresa desde " + f1.dataEntrada);
} else {
System.out.println("Funcionario demitido");
}
if (f1 == f2) {
System.out.println("Iguais");
} else {
System.out.println("Diferentes");
}
}
}
meu código esta com algumas coisas que não está no enunciado do exercicio, mas que não atrapalha a sua execução ( pelo menos eu acho). Pessoal sempre que estou executando ele está dando um erro no método "mostra", mas não estou conseguindo descrobrir o que pode ser. O erro que aparece é "Exception in thread "main" java.lang.NullPointerException at Funcionario.mostra(Funcionario.java:23) at TestaFuncionario.main(TestaFuncionario.java:12)"