2016-04-27 4 views
-1

私は同じ物/物を何度も作るが、別の名前をつけたい。このよう同じことを何回も別の名前にする

: 私は6つのポリゴンを作りたいが、別の名前でそれらの各:

Polygon p1 = new Polygon(); 
    Polygon p2 = new Polygon(); 
    Polygon p3 = new Polygon(); 
    Polygon p4 = new Polygon(); 
    Polygon p5 = new Polygon(); 
    Polygon p6 = new Polygon(); 

はのためのループまたは何か他のものでこれを行う方法はありますか?

おかげ

+3

[OK]をする必要があります。 – rajah9

+0

はい、それでも問題は解決しません。 100ポリゴンを作りたいのですが? – Aleandro

+5

@Aleandro:次に、サイズ100の配列を作成し、それをループに入れます。あなたがそれを説明したように、実際には*問題を解決します... –

答えて

3

あなたが動的にJavaで変数名を作成することはできません。彼らは、コンパイル時にソースコードで利用できるようにする必要がある他の人が言ったように、Javaでこれを行うための通常の方法は、配列またはリストを作成することです例:。。

List<Polygon> polygons = new ArrayList<>(); 
for (int ctr = 0; ctr < 100; ctr++) { 
    polygons.add(new Polygon()); 
} 

をあなたがしてオブジェクトをしませ参照インデックス

Polygon poly = polygons.get(22); 

もう1つ考えてみましょう。あなたがあなたのオブジェクトに100個の個別の変数名を持っていたら?次に、すべてのポリゴンでいくつかのプロセスを実行したい場合はどうなりますか?

doSomething(p1); 
doSomething(p2); 
// ... lots more lines like this... 
doSomething(p99); 

または単に..あなたがしたいですか:このような

for (Polygon poly : polygons) { 
    doSomething(poly); 
} 
+0

おかげさまで、ありがとうございました! – Aleandro

0

Arraysのドキュメントをご覧ください。

例のコードでは、anArrayという名前をmyPolygonsに変更します。 intPolygonに変更する必要があります。しかし、その考え方は同じです。あなたはそれをmyPolygons[6]と呼んでp6を参照します。 (それともmyPolygons[5]、Javaがあなたの配列の最初のものはmyPolygons[0]だろう。そして、はい、forループにも役立つだろうことを意味し、ゼロ・オフセットであるので。

0

何かが、配列は、ここで、多くの意味になるだろう

List<Polygon> polygonObjects = new ArrayList<Polygon>(); 

    for(int i = 0; i < 6; i++){ 
     polygonObjects.add(new Polygon()); 
    } 
関連する問題