【问题标题】:Create ArrayList based with object based on method parameter使用基于方法参数的对象创建 ArrayList
【发布时间】:2014-01-08 04:15:57
【问题描述】:

我有一堂带球的课。

在另一个名为 CollectionBalls 的课程中​​,我收集了一组球(真是惊喜)

CollectionBalls 类有一个 balls 类型的 ArrayList:

 ArrayList <Balls> myBalls;

我想要做的是当我创建对象 CollectionBalls 时:在构造函数的参数中设置球的数量。

喜欢

public CollectionBalls(int amountOfBalls)
{
    myBalls = new ArrayList <Balls>();
    setAmountOfBalls(amountOfBalls);
}

public void setAmountOfBalls(int amountOBalls)
{
    for (int i = 0; i < amountOBalls;  i ++)
    {
        // Create a new ball
        Ball i = new Ball();
        // Add the ball to the collection of ball
        myBalls.add(i);
    }
}

但我不能用 i 动态创建一个新球。

如何根据参数创建对象的数量?

编辑:我可以用类似 testBall 的东西重命名 i,但 testBall 是一个对象,而不是像 ball 1 ball 2 ball 3 这样的 10 个对象,对吗?

【问题讨论】:

  • Ball 变量命名为 i 以外的名称,该变量已用作 for 循环索引。
  • Ball 的构造函数也不能有任何参数,否则您需要提供它们(重载构造函数也是一件事)。
  • @SotiriosDelimanolis 我可以用类似 testBall 的东西重命名 i 但 testBall 是一个对象,而不是像 ball 1 ball 2 ball 3 这样的 10 个对象,对吗?
  • Ball 变量的调用有什么关系?您不能在 Java 中动态命名变量。
  • 阅读this。对象没有名称。一个变量可以。该名称不能动态创建。

标签: java


【解决方案1】:

我看到了两个问题

public void setAmountOfBalls(int amountOBalls)
{
  for (int i = 0; i < amountOBalls;  i++)
  {
    // Create a new ball
    // Ball i = new Ball(); // you have a plural class name, but were trying to 
                            // make it singular here and you already have an 
                            // integer variable called i.
    Balls ball = new Balls();
    // Add the ball to the collection of ball
    myBalls.add(ball);
  }
}

【讨论】:

  • thx 我使用了球作为示例,以便更容易理解并进行了调整
  • 可以使用 char name = 'a' name ++;
【解决方案2】:
public CollectionBalls(int amountOfBalls)
{
    myBalls = new ArrayList <Balls>();
    setAmountOfBalls(amountOfBalls);
}

public void setAmountOfBalls(int amountOBalls)
{
    for (int i = 0; i < amountOf**Registers**;  i ++)

        // Add the ball to the collection of ball
        myBalls.add(new Balls());
    }
}

【讨论】:

    猜你喜欢
    • 2021-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-01
    相关资源
    最近更新 更多