2

ツリーにノードを作成し続ける必要があります。node1node2node3などと出てきたら名前をつけたいと思います。

Node基本的なオブジェクトのインスタンス化を使用して、これを手動で行う方法を知っています(クラスがあるとします):

Node node1 = new Node();

私の質問は、ユーザーが合計ノード数 ( ) を入力した場合、これkを自動的に作成できる可能性はnode1ありますか?node2node3nodek

アドバイスありがとうございます。私はいつもJAVAのこの概念と、エレガントな解決策を見つける方法に行き詰っているように感じます....

4

2 に答える 2

3

コレクションを使用できますこのコレクションのチュートリアルを読む

たとえば、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));

または、順番に設定する場合はループを使用します

for(int i=0;i<n;i++){
  nodeList.add(new Node());
}
于 2013-07-09T03:49:36.993 に答える
1

変数は単にプログラマにとって便利なものであり、コードがコンパイルされた後は追跡されません。したがって、変数に「動的に」名前を付けることはできません。

Node[]ただし、提案どおりに a を使用できます。

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]

于 2013-07-09T03:50:02.900 に答える