java中的错误:线程中出现异常;“主要”;

java中的错误:线程中出现异常;“主要”;,java,graph-algorithm,Java,Graph Algorithm,我试图在java中应用Dijkstra算法。输入将来自包含3列的文本文件,第一列是开始节点,第三列是结束节点,第二列是关系名称,但我现在不需要它,所以我使用第一列和最后一列。 文本文件为: 12 ECrel 15 15本色18 11本色12 12本色14 11本色14 11本色18 14地图链接17 12地图链接17 14地图链接10 18地图链接10 14地图链接16 15地图链接19 18地图链接19 12 maplink 19感谢您的所有评论,但特别感谢David Wallace,他的评

我试图在java中应用Dijkstra算法。输入将来自包含3列的文本文件,第一列是开始节点,第三列是结束节点,第二列是关系名称,但我现在不需要它,所以我使用第一列和最后一列。 文本文件为:

12 ECrel 15
15本色18
11本色12
12本色14
11本色14
11本色18
14地图链接17
12地图链接17
14地图链接10
18地图链接10
14地图链接16
15地图链接19
18地图链接19

12 maplink 19
感谢您的所有评论,但特别感谢David Wallace,他的评论帮助我了解了导致此错误的问题。问题就在这方面

Graph.Edge[]Gr=新的Graph.Edge[Dijkstra.count]

我必须将大小设置为count-1而不是count


谢谢。

您能告诉我们实际的错误消息是什么吗?“线程'main'中的异常”绝对不会向我们传达任何有用的信息。将异常堆栈跟踪和文件hsa00072.txt的内容添加到问题描述中。这就像你去看医生并说。。。“医生,医生,我感觉不舒服。给我开个处方!”医生需要知道症状。。。我们需要看到stacktrace。(也就是说……除非你们喜欢它,它相当于一粒糖丸。你们试过重新安装操作系统吗?:-))看起来在第125行的某个迭代中,
e
可能是空的,换句话说,在你们的边数组中有一个空的。如果Dijkstra.count计算错误,或者文本文件中的行存在其他问题,则可能会发生这种情况。我最好的建议是使用调试器在第69行之前检查
GRAPH
的值,查看数组中是否有空值,然后使用调试器逐步执行
readTextFile
,尝试找出它们的来源。David Wallace。。。。非常感谢您的评论非常有用,我发现了导致此错误的问题。问题是我将图表的大小设置为count,但我必须做的是将其设置为count-1。代码仍然无法工作,但此错误已解决。。。谢谢:)