2012-11-15 54 views
0

我不得不在uni遍历一个作业的图形,并且在使用Set时遇到问题。我已经编写了算法,但由于某种原因,这似乎在阻止它。目前,我收到以下(根据BlueJ的)的第一行一个NullPointerException:NullPointerException当创建一个新的设置并添加到ArrayList

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

当getNeighboursNames()方法返回一个字符串集作为相邻节点的名称。我被告知这是使用正确的方法,而变量v指的是当前节点的当前名称。

有人请指出我可能出错的地方,因为我真的看不到它,或者让我知道这部分没有任何问题,并且问题必须出现在代码的其他地方。

对此的任何帮助表示赞赏,迄今为止我尝试了几件事情但没有成功。

+0

v必须为空;你可以发布它的初始化吗? –

+0

String v = q.remove(); 当q是包含当前节点名称的LinkedList作为此时的唯一条目时。 – whitfin

回答

1

当您调用“map.getNeighborsNames(v)”时,最有可能您的“地图”为空,如果您发布堆栈跟踪,对我来说会更容易帮助。

调试模式将非常有用,找到像这样的东西:)。

+0

哦,根据BlueJ你是正确的:除此之外,代码还行吗? (假设地图不为空)。 – whitfin

相关问题