java中的错误:线程中出现异常;“主要”;
我试图在java中应用Dijkstra算法。输入将来自包含3列的文本文件,第一列是开始节点,第三列是结束节点,第二列是关系名称,但我现在不需要它,所以我使用第一列和最后一列。 文本文件为: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,他的评
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。代码仍然无法工作,但此错误已解决。。。谢谢:)