2013-04-23 3 views
1

다소 모호한 질문 일지 모르지만 저는 단지 자바와 프로그래밍 (스탠포드 비디오 사용)을 배우면서 피라미드를 만들기 위해 직사각형 행을 만들어야합니다. 그러나이 작업을 반복 할 때 모든 사각형은 동일한 변수 이름을 가지며 장소를 "변경"하고 하나의 사각형 만 얻습니다. 그렇다면 어떻게하면 수동으로 만들 때 너무 오래 걸릴지 모르기 때문에 직사각형을 루프에서 다르게 명명하고 추가 할 수 있습니다.사각형의 행이 필요합니다. 어떻게 자동으로 변수의 이름을 지정할 수 있습니까?

내 코드 :

private void BuildingRow() { 
    int Q = BRICK_QUANTITY; 
    double length;    // length from row beginning spot   
    length = RowStartSpot(Q); 
    for (int i = 0; i < Q; i++) 
    { 
     GRect brick = new GRect(length, height - BRICK_HEIGHT, BRICK_WIDTH, BRICK_HEIGHT); 
     add(brick); 
    } 

+0

왜 길이 Q 배열에 넣을 수 없습니까? – thegrinner

답변

1

는 사각형의 배열을 만들고 for 루프를 사용하여 채 웁니다. 사각형의 이름이 배열의 해당 위치가됩니다. 예를 들어 당신의 사각형 배열이 myRectangles를 호출하는 경우, 첫 번째 사각형은 myRectangles[0]

1

나중에 액세스 할 수 있도록이 목록의 어떤 종류에 추가해야합니다 : 다음

List<GRect> listOfBricks = new ArrayList<GRect>(); 
for (int i = 0; i < Q; i++){ 
    GRect brick = new GRect(length, height - BRICK_HEIGHT, BRICK_WIDTH, BRICK_HEIGHT); 
    listOfBricks.add(brick); 
} 

과 각 벽돌에 액세스하려면

listOfBricks.get(index); 
+0

흠 무슨 오류입니까? –

+0

좋아, 나는 List 물건을 시도하고 "오류"(프로그램을 실행하는 것 같아)있어 : - ArrayList는 타입으로 해결할 수 없습니다 - 타입리스트는 일반적이지 않습니다; 인수 으로 매개 변수화 할 수 없습니다. 그러나 프로그램이 실행되지만 여전히 하나의 사각형 만 있습니다. – Raizekas

+0

'import java.util.List' 또는'java.awt.List' 했습니까? –

관련 문제