2

ボックスクラスがあるとしましょう:

class Box
{
    private int width;
    private int height;

    //Box Constructor
    public Box( int height )
    {
        this.height = height;
        width = 450;
    }

}

メインの一連の Box オブジェクト:

Box Box1 = new Box(147);
Box Box2 = new Box(178);
Box Box3 = new Box(784);

これらのオブジェクトを通過するために「for」ループを使用する方法はありますか? また、コンピュータにクラス オブジェクトを作成させるにはどうすればよいでしょうか? 例えば。以下を使用して 10 個のオブジェクトを作成します。

for( int i=0; i>10; i++)
{
    //method
}
4

7 に答える 7

5

コレクション(または配列ですが、一般的にはコレクションを優先する必要があります)を使用します。

List<Box> boxes = new ArrayList<Box>(10);
for (int i = 0; i < 10; i++) {
    boxes.add(new Box(i));
}
于 2012-11-19T15:49:58.333 に答える
3

これらすべてのオブジェクトをいずれかの配列(または)配列リストに追加してループさせることができます。

例:

List<Box> boxList = new ArrayList<Box>();
boxList.add(box1);
boxList.add(box2);
boxList.add(box3);

for( int i=0; i < boxList.size(); i++)
{
    //method
}
于 2012-11-19T15:49:05.113 に答える
3

私はあなたが意味すると思います

for(int i=0; i<10; i++)

そしてJavaではあなたがするでしょう

Box[] boxes = new Box[10];
for(int i=0; i<10; i++) boxes[i] = new Box(i);
于 2012-11-19T15:50:30.577 に答える
2

オブジェクトをリストまたは配列にグループ化する必要があります。次に、配列を反復処理してオブジェクトを作成したり、それらを使用したりできます。

Box[] boxes = new Box[10];
for (int i = 0; i < 10; i++)
{
    boxes[i] = new Box(100);  // Create a new box object
}
于 2012-11-19T15:51:24.140 に答える
1

If you wish to avoid the memory and processing overhead of an ArrayList but using a plain array instead.

Non iterative creation

Let's say we know the number of items.

Box[] boxes = {
  new Box(1),
  new Box(2),
  new Box(3)
};

Iterative creation

Box[] boxes = new Box[numBoxes];
for (int i=0; i<numBoxes; i++){
  boxes[i] = new Box(i);
}

Iterative access

for (Box b : boxes){
  doWhatever(b);
}
于 2012-11-19T16:57:43.900 に答える
1

以前に作成されたオブジェクトをループするには、オブジェクトが何らかのコレクションに含まれている必要があります。for ループを使用してオブジェクトを作成することが可能です

for( int i=0; i<10; i++)
{
    new Box(i);
}
于 2012-11-19T15:50:48.750 に答える
0

作成されたオブジェクトの参照コンテナが必要で、そこに追加します。(例のように)異なるコンストラクターパラメーターが必要な場合は、それらのコンテナーが必要になります。

Integer[] boxSpecifications = new Integer[] { 10, 187, 781, 321 };
List<Box> boxes = new ArrayList<Box>();

for (int i = 0; i < boxSpecifications.length; i++) {
  boxes.add( new Box( boxSpecifications[ i ] ) ) ;
}
于 2012-11-19T16:08:25.200 に答える