2012-01-09 2 views
0

배열에 초점을 맞추기위한 과거의 시험 문제이며 여기에 질문이 있습니다.이 객체를 배열에 어떻게 추가해야합니까?

컴퓨터 배열이 포함 된 실험실이라는 클래스를 정의하십시오. 배열의 크기는 실험실 클래스의 생성자에서 지정해야합니다. 클래스에 컴퓨터를 배열에 추가하는 방법이 포함되어야합니다. (초기 부분에서는 생성자를 사용하여 몇 가지 특성을 가진 컴퓨터 클래스를 정의해야했습니다.)

그래서 처음 두 부분, 생성자에 지정된 클래스 및 크기를 수행하는 방법을 알고 있습니다. 세 번째 부분 (방법에 관한)은 어떻게합니까?

+0

방금 ​​당신이 할 수 있다는 것을 깨달았습니다. ... – QuackMan245

답변

2

이미 배열 생성하는 생성자 작성한 가정 : 당신은 배열에있는 컴퓨터의 현재 카운트와 인스턴스 변수를 가질 수

class Laboratory { 

    private Computer[] computers; 
    private int nextIndex = 0; 

    public void addComputer(Computer comp) { 
     // throws an ArrayOutOfBoundsException if the user 
     // tries to add too many Computers. You might want to 
     // do something else by checking that nextIndex < computers.length 
     computers[nextIndex] = comp; 
     nextIndex += 1; 
    } 

} 
1

를 다음 컴퓨터

을 추가 할 때 사용
private int computerCount = 0; 

public void addComputer(Computer comp) 
{ 
    arrayName[computerCount] = comp; 
    computerCount++; 
} 
+1

카운트를 잊어 버리는 것을 잊었습니다. –

+0

ArrayOutOfBoundsException – Jonathan

+0

을 확인하십시오. 현재 배열의 첫 번째 항목을 매번 덮어 씁니다. 인덱스 포인터를 유지해야합니다. –

관련 문제