NullPointerException na hora de inserir a informação [Resolvido]

2 respostas
B

galera estou fazendo um exercicio aqui e surgiu o seguinte problema com NullPointerException

estou usando três classes:

disciplina, professor e curso

public class Disciplina {

	public String nome;
	private int cargaHoraria;
	public Professor professor;
	
	public boolean setCargaHoraria(int cargaHoraria){
		if(cargaHoraria >= 10 && cargaHoraria <=200){
			this.cargaHoraria = cargaHoraria;
			return true;
		}else
			return false;
	}//setCargaHoraria
	
	public int getCargaHoraria(){
			return cargaHoraria;
	}//getCargahoraria

}
public class Professor {
	public String nome;
	private byte idade;
	public String formacao;

	public boolean setIdade(byte idade){
		if(idade > 18 && idade <100){
			this.idade = idade;
			return true;
		}else
			return false;			
	}//setIdade
	
	public byte getIdade(){
		return idade;
	}
	
}
ArrayList<Disciplina> lista = new ArrayList<Disciplina>();
Disciplina d = new Disciplina();
				d.nome = JOptionPane.showInputDialog(null,"Qual a Disciplina?");
				d.setCargaHoraria(Integer.parseInt(JOptionPane.showInputDialog(null,
													"Qual a carga horaria da disciplina: " + d.nome)));
				
				d.professor.nome = JOptionPane.showInputDialog(null,"Qual o nome do professor?");
				d.professor.setIdade(Byte.parseByte(JOptionPane.showInputDialog(null,
																		"Qual a idade do professor?")));
				d.professor.formacao = JOptionPane.showInputDialog(null,		
																		"Qual a formação do professor?");
							
				lista.add(d);

é aqui que vem o problema:
quando eu insiro o o nome do professor, na hora de rodar o prog da o NullPointerException, ja dei uma pesquisada aqui no forum mesmo
mas n conseguir tira esse erro.

2 Respostas

alexandref93

Olá!!!

seu problema está na classe Disciplina, vc não atribuiu nenhum new Professor(); para a referencia professor.

só atribuir:

Professor professor = new Professor();
B

eu nem percebi esse detalhe :roll:

vlw a ajuda, agora funcionou certinho

Criado 1 de novembro de 2010
Ultima resposta 1 de nov. de 2010
Respostas 2
Participantes 2