Exception in thread "main" java.lang.NullPointerException

1 resposta
D

Galera, eu estava brincando um pouco aqui com o JOptionPane e Orientaçao a Objetos, porém recebi o erro já citado acima... Acredito que o erro está sendo causado na hora da atribuição de valores ...
O NetBeans sempre dá erro quando eu chamo o funcionario1.cargo.qualquer coisa, seja pedindo para o usuário atribuir um valor, seja com um valor já atribuido na inicialização dessas variáveis

OBS: o funcionario1.cargo.code é um int e o funcionario1.cargo.nome é uma string;

[code]

package br.senai.Empresa;
import br.com.senai.util.Data;
import java.text.ParseException;
import javax.swing.JOptionPane;

public class Teste {

public static void main(String[] args) throws ParseException {

Funcionario funcionario1 = new Funcionario();
funcionario1.nome = JOptionPane.showInputDialog("Digite o nome do funcionário");
funcionario1.matricula = JOptionPane.showInputDialog("Digite o código de matricula do "+funcionario1.nome+":");
funcionario1.dtNasc = Data.textoParaData(JOptionPane.showInputDialog
("Digite a data de nascimento do "+funcionario1.nome+" no formato "+Data.FORMATO));
funcionario1.cargo.code = Integer.parseInt(JOptionPane.showInputDialog("Digite o código do setor do "+funcionario1.nome));
funcionario1.cargo.nome = JOptionPane.showInputDialog("Digite o cargo que o "+funcionario1.nome+" ocupa :");

JOptionPane.showMessageDialog(null, funcionario1.cargo.code+"\n"+funcionario1.cargo.nome);

System.exit(0);
}
}

1 Resposta

guivirtuoso

Você não colocou o código da Classe Funcionario… mas da de perceber que Cargo é outra classe, com os atributos code e nome.

Em que momento você faz funcionario.setCargo(new Cargo()) ???
No construtor de Funcionario?

Provavelmente não né…

Neste caso, cargo ainda está nulo… e não tem como acessar code ou nome, por isso o erro.

Ah e estude por “Encapsulamento” tbm, nunca acesse os atributos do Objeto diretamente.

Abs

Criado 23 de fevereiro de 2016
Ultima resposta 24 de fev. de 2016
Respostas 1
Participantes 2