我需要不斷在樹中創建節點。我想他們的名字,因爲他們來了爲node1
,node2
,node3
等自動分配編號的變量名稱
我知道如何與基本對象實例手動執行此操作(比如我有一個Node
類):
Node node1 = new Node();
我的問題是否有可能,如果用戶輸入總節點數(k
),我可以自動創建這個數:node1
,node2
,node3
,...,nodek
?
謝謝你的任何建議;我覺得我總是卡住這個概念在Java中,如何找到一個很好的解決方案....
我需要不斷在樹中創建節點。我想他們的名字,因爲他們來了爲node1
,node2
,node3
等自動分配編號的變量名稱
我知道如何與基本對象實例手動執行此操作(比如我有一個Node
類):
Node node1 = new Node();
我的問題是否有可能,如果用戶輸入總節點數(k
),我可以自動創建這個數:node1
,node2
,node3
,...,nodek
?
謝謝你的任何建議;我覺得我總是卡住這個概念在Java中,如何找到一個很好的解決方案....
你可以使用一個集合Read this Collections tutorial
例如一個List
例子:
int n= someInteger;
List<Node> nodeList = new ArrayList<>(n);
nodeList.add(new Node(0));
nodeList.add(new Node(1));
.
.
.
nodeList.add(new Node(n));
或者使用一個循環,如果你設置的東西secuentially
for(int i=0;i<n;i++){
nodeList.add(new Node());
}
變量名稱對程序員來說只是一種方便,在編譯代碼後甚至不會記錄。因此,「動態」命名變量是不可能的。
但是,你可以使用一個Node[]
的建議:
Node[] nodes = new Node[k]; // creates an array of length k
for (int i = 0; i < k; i++) // adds a new node at each index
nodes[i] = new Node();
現在,你「nodeK」將nodes[k-1]
。
這聽起來像你需要[數組](http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html)或[集合](http://docs.oracle.com/JavaSE的/教程/集合/)。 –
您可以將它們添加到集合中。 – nachokk
變量名稱僅在編譯時有用。您可以將一個屬性添加到名爲'name'的節點。這將會更容易,更實用。 – BevynQ