Exception

4 respostas
S

Boas, eu tenho o seguinte método…

private LinkedList <WeightedEdge> edges; 

public boolean addEdge( Vertex d,int p){
		
		WeightedEdge we = new WeightedEdge(this,d,p);
			return(edges.add(we)); // como o método add é boolean vai retornar true se for adicionado
			
	}

mas eu ao fazer edges.add(we); o eclipse dá uma Exception in thread “main” java.lang.NullPointerException

o que estarei fazendo errado ?

desde já o meu muito obrigado

4 Respostas

E

bom pela sua descrição ai
o codigo parece estar tudo certo

nesse caso as possibilidades que eu vejo são:
:arrow: Vertex d ser nulo…
:arrow: edges ser nulo…

uma pergunta onde tu inicializou o edges? :roll:

ps.: quando postar o erro, procure enviar toda a descrição, pois as outras linhas podem ajudar o pessoal a entender, ou supor o que ocorreu :grin:

abraços

S
import java.util.*;

public class Vertex {

	private String id; // id do vértice
	private int index;

	private LinkedList <WeightedEdge> edges; // contêm a lista de arcos q têm origem neste vértice

	public Vertex(String id,int index){

		this.id=id; // identificador do vértice
		this.index=index; // indice onde o vértice se encontra no grafo
	}

	//Adiciona um novo arco a edges, com origem neste 
	 // vértice, fim e peso passados como parâmetros 

	public boolean addEdge( Vertex d,int p){
		
		WeightedEdge we = new WeightedEdge(this,d,p);
			return(edges.add(we)); // como o método add é boolean vai retornar true se for adicionado
			
	}  

(....)

está assim....

E

bom nesse trecho de código não estou vendo
a realização da inicialização do edges

... edges = new LinkedList(); ...

você tem alguma parte do código que está executando essa linha de
código? caso não tenha, faz um teste e inclua ela no contrutor da
classe…

public Vertex(String id,int index){ edges = new LinkedList(); this.id=id; // identificador do vértice this.index=index; // indice onde o vértice se encontra no grafo }

e teste novamente sua classe :wink:

abraços

S

Muito obrigado, era isso mesmo…

Criado 10 de maio de 2006
Ultima resposta 10 de mai. de 2006
Respostas 4
Participantes 2