Olá, sou novo no mundo JAVA e estou tentando realizar o exercício 6 do capitulo número 3 porém não estou conseguindo.
Eu consigo compilar normalmente sem nenhum erro, porém, ao tentar executar o o seguinte erro me aparece: "└──> $ java Programa O funcionário João da Silva recebe R$1500.0 O ganho anual dele é de R$18000.0 Porém, ele recebeu um aumento, e agora o seu salário é de R$2000.0 Nome: João da Silva RG: 50.785.554-0 Exception in thread "main" java.lang.NullPointerException at Funcionario.mostra(Funcionario.java:20) at Programa.main(Funcionario.java:62)"
Para que vocês consigam me ajudar, segue abaixo o código fonte do sisteminha:
class Funcionario { String nome; String rg; String dataDeAdmissao; double salario; double salarioAnual; Data dataNascimento;
void recebeAumento(double valorDoAumento) { this.salario += valorDoAumento; }
void calculaGanhoAnual () { this.salarioAnual = this.salario * 12; }
void mostra() { System.out.println("Nome: " + this.nome); System.out.println("RG: " + this.rg); System.out.println("Dia de Nascimento:" + dataNascimento.dia); System.out.println("Mês de Nascimento:" + dataNascimento.mes); System.out.println("Ano de Nascimento:" + dataNascimento.ano); System.out.println("Data de Admissão: " + this.dataDeAdmissao); System.out.println("Salário: " + this.salario); System.out.println("Salário Anual: " + this.salarioAnual); } }
class Data { int dia = 0; int mes = 0; int ano = 0;
void preencheData (int diaMet, int mesMet, int anoMet) { this.dia = diaMet; this.mes = mesMet; this.ano = anoMet; } }
class Programa { public static void main (String[] args) {
Funcionario func = new Funcionario(); Data nascimento = new Data(); nascimento.preencheData(15, 11, 1995); func.nome = "João da Silva"; func.rg = "50.785.554-0"; func.dataDeAdmissao = "01/06/2015"; func.salario = 1500.0;
System.out.println("O funcionário " + func.nome + " recebe R$" + func.salario);
func.calculaGanhoAnual(); System.out.println("O ganho anual dele é de R$" + func.salarioAnual);
func.recebeAumento(500.0);
System.out.println ("Porém, ele recebeu um aumento, e agora o seu salário é de R$" + func.salario);
func.mostra(); } }