我正试图在java中阻止dijkstra算法。我尝试在文本文件中获取节点名称。我在名为[] nodes
的数组中分配了节点名称我使用以下代码手动在项目中添加顶点:
Vertex a = new Vertex("a");
我想使用带有此代码的for循环来协助文本文件中的顶点名称
for(int i=0; i< numOfNodes; i++){
Vertex nodes[i] = new Vertex(nodes[i]);
}
但它给了我这个错误
Multiple markers at this line
- The constructor Vertex(Vertex) is undefined
- Type mismatch: cannot convert from Vertex to
Vertex[]
- Syntax error on token "i", delete this token
我该如何解决这个问题?
答案 0 :(得分:1)
这不是有效的语法;你需要在for循环之外定义你的Vertex
数组,并将文件的内容存储在其他地方,即
String text_input[] = new String[num_lines_in_file];
// Read the text file and store inputs in above array...
// ...
Vertex nodes[] = new Vertex[text_input.length];
for(int i=0; i< nodes.length; i++){
nodes[i] = new Vertex(text_input[i]);
}
答案 1 :(得分:0)
您目前正在尝试使用我认为是Vertex
(String
)
nodes[i]
Vertex nodes[i] = new Vertex(nodes[i]);
但是你的问题就在于此。您正在尝试将Vertex
对象插回String
数组。您需要Vertex
个对象的替代数组。