2014-01-07 50 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()); 
    } 
}