2012-11-15 3 views
0

uni에서 할당을 위해 그래프를 트래버스해야하는데 Set를 사용할 때 문제가 있습니다. 나는 알고리즘을 이미 작성했지만 어떤 이유로 그것이 그것을 유지하고있는 것 같습니다.새로운 Set & ArrayList를 추가 할 때 NullPointerException이 발생했습니다.

Set<String> neighboursNames = map.getNeighboursNames(v); 
List<String> reachable = new ArrayList<String>(neighboursNames); 

하면 getNeighboursNames() 메소드는 이웃 노드의 이름으로 문자열의 집합을 반환 : 현재, 나는 (BlueJ의에 따라) 다음의 첫 번째 줄에 NullPointerException이 발생하고 있습니다. 나는 이것이 올바른 사용법이며, 변수 v가 ​​현재 노드의 현재 이름을 가리키고 있다는 지시를 받았다.

누군가 내가 잘못 본 곳을 지적 할 수 있습니다. 실제로이 부분을 볼 수 없기 때문에 나에게 아무런 문제가 없으며 문제가 코드의 다른 곳에 있어야합니다.

이 문제에 도움이 되셨다면, 지금까지 여러 가지 시도를 해 보았습니다.

+0

v는 null 여야합니다. 초기화 될 때 게시 할 수 있습니까? –

+0

String v = q.remove(); q가 현재 노드 이름을이 시점의 유일한 항목으로 포함하는 LinkedList 인 경우. – whitfin

답변

1

"map.getNeighborsNames (v)"를 호출하면 "지도"가 null 일 가능성이 높습니다. 스택 추적을 게시하면 도움이 될 것입니다.

디버그 모드는 다음과 같은 항목을 찾는 데 매우 유용합니다. :)

+0

오, BlueJ에 따르면 당신은 정확합니다 : p 그 외에, 코드는 괜찮습니까? (지도가 null이 아님을 가정). – whitfin

관련 문제