如何编写一个以数字(n)作为输入并自动为类创建(n)个对象的函数

时间:2011-06-07 18:27:24

标签: java

for(int i=0; i<n;i++) {
    Node "obj"+i =new Node();
}

obj1.Node_val(2,3);
obj2.Node_val(9,8);

我试过这个,但不行。

请帮忙。谢谢。

5 个答案:

答案 0 :(得分:2)

您可能想要使用数组,即Node[]

public Node[] createNodes(int num) {

    Node[] nodes = new Node[num];

    for(int i = 0; i < num; i++)
        nodes[i] = new Node();

    return nodes;
}

List<Node>

public List<Node> createNodes(int num) {

    List<Node> nodes = new ArrayList<Node>(num);

    for(int i = 0; i < num; i++)
        nodes.add(new Node());

    return nodes;
}

答案 1 :(得分:2)

public List<Node> createNodes(List<IntPoint> coords)
{
    List<Node> nodes = new ArrayList<Node>();

    for (int i = 0; i < coords.size(); ++i)
    {
        nodes.add(new Node(coords.get(i).getX(), coords.get(i).getY());
    }

    return nodes;
}

在行之间阅读并使用IntPoint类填充空白。

答案 2 :(得分:2)

考虑一下。你得到一个对象列表,你可以稍后调用它们。使用List可以很好地添加/删除对象

List<SomeObject> objectList = new ArrayList<SomeObject>();

for (int i = 0; i < totalObjectsNeeded; i++) {
    objectList.add(new SomeObject());
}

答案 3 :(得分:1)

Array / ArrayList怎么样?

public List<Foo> getObjects(int noOfObjectsToBeCreated){
List<Foo> lst = new ArrayList<Foo>();
for(int i = 0 ; i < noOfObjectsToBeCreated ; i ++){
    lst.add(new Foo());//storing reference
}
}

答案 4 :(得分:1)

也许您可能想要使用数组

Node [] nodes = new Node [num];
for (int i = 0; i < num; nodes [i++] = new Node () );
Node [0].Node_val (2, 3);
Node [1].Node_val (9, 8);