如何在for循环中为字符串指定字符串?

时间:2014-04-03 20:10:28

标签: java dijkstra vertex

我正试图在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

我该如何解决这个问题?

2 个答案:

答案 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)

您目前正在尝试使用我认为是VertexString

创建nodes[i]
Vertex nodes[i] = new Vertex(nodes[i]);

但是你的问题就在于此。您正在尝试将Vertex对象插回String数组。您需要Vertex个对象的替代数组。