Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida no Ex. 2 da Aula 3 - Começando com Orientação a objetos

Bom dia.

Fazendo a classe Funcionário coloquei os atributos e chamei uma outra classe Dados que contém a informação do funcionário. Na hora de compilar não dá problema, mas na hora de realizar o teste na Classe VamosTestar aparece a mensagem "Exception in thread main java.lang.NullPointerException at VamosTestar.main" . O que será que está errado! Alguém pode me ajudar !!

===

class Funcionario{

Dados trabalhador; String dataEntrada; int idFuncionario; double salario;

void recebeAumento(double aumento){ this.salario+=aumento; }

double calculoGanhoAnual(){ double c =this.salario*12; return c; }

}

class Dados{

String nome; String departamento; String cpf; String rg; String endereco; }

class VamosTestar{

public static void main(String[]args){

Funcionario f1 = new Funcionario(); f1.trabalhador.nome="Damián"; f1.trabalhador.departamento="Recursos Humanos"; f1.trabalhador.cpf="123.123.432-32"; f1.trabalhador.rg="8748273"; f1.trabalhador.endereco="Rua Java 123"; f1.dataEntrada="02 de Julho de 2015"; f1.idFuncionario=23456; f1.salario=1000.0; f1.recebeAumento(300.0);

System.out.println("Funcionário : "+ f1.trabalhador.nome); System.out.println("Salário"+ f1.salario); System.out.println("Ganho Anual"+ f1.calculoGanhoAnual());

}

}

3 respostas
solução!

Não analisei seu código por completo porem sei que esse erro é quando um um objeto foi acessado sem ser instanciado, iniciado ou com um valor nulo. dá uma revisada partindo desse principio.

Já vi e foi isso mesmo. Faltava ser instanciado...

f1 trabalhador = new Dados();

Muito obrigado !

Jair, por favor selecione uma resposta como solução para o fechamento do tópico, grato!