0
我有一個非常簡單的圖形執行如下命令:爪哇 - 改變圖形節點的標籤不更新連接標籤
class Graph{
ArrayList<Node> nodes;
...
public void addNode(Node n){
nodes.add(n);
}
void changeLabel(int index, char label){
nodes.get(index).label = label;
}
}
class Node{
char label;
ArrayList<Node> connections;
public void addConnection(Node other){
connections.add(other);
}
}
接下來,我創建了一個循環圖如下:
Graph g = new Graph();
Node a = new Node('A');
Node b = new Node('B');
Node c = new Node('C');
//code to add nodes to graph
g.addNode(a);
g.addNode(b);
g.addNode(c);
//code to add each node as connection to every other node
a.addConnection(b);
a.addConnection(c);
b.addConnection(a);
b.addConnection(c);
....
然後,我改變標籤上的圖中的節點中的一個(比如A至E):
g.changeLabel(0, 'E');
現在,當我顯示該圖形節點s,我可以看到更新的標籤。但是,當我遍歷節點的連接時,我仍然將標籤取爲'A'。爲什麼這樣?
對不起,我忘了指定添加新連接的方式。我編輯了添加連接的代碼。不知道這是否有所作爲。 – drunkenfist 2014-09-23 23:47:51
你還可以發佈Graph類的addNode方法嗎? – SJha 2014-09-23 23:49:41
嗯,我似乎犯了一個錯誤。抱歉。謝謝。 – drunkenfist 2014-09-24 00:11:22