2014-01-07 49 views
1

我有一个类与球。基于方法参数创建基于对象的ArrayList

在另一类称为CollectionBalls我有球的集合(什么惊喜)

类CollectionBalls有型球的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); 
    } 
} 

,但我不能动态地创建一个新的球我。

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

编辑:我可以重新命名我像testBall的东西,但testBall是一个对象,而不是像球10球1球2球3右?

+2

命名'Ball'变量不是'i'以外的东西,它已经作为'for'循环索引。 –

+0

Ball的构造函数也必须没有任何参数,否则你需要提供它们(重载构造函数也是一件事)。 – Fallenreaper

+0

@SotiriosDelimanolis我可以用类似testBall的方式重命名我,但testBall是一个对象,而不是像球一样的10个对象1球2球3右? –

回答

2

我看到两个问题

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); 
    } 
} 
+0

thx我用这个例子的球,使它容易理解已经调整它 –

+0

它可能与char name ='a'名称++; –

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()); 
    } 
}