2016-11-01 3 views
2

어디에서나 볼 수 있으며 내 문제의 답이나 힌트를 찾을 수 없습니다. 아마도 아마 참조와 요소를 복사하여 인스턴스 변수에 전달해야하는 배열에 전달되는 배열과 관련이있을 것이라고 생각합니다. 그러나이를 이해할 수는 없습니다.배열 인스턴스 변수는 ctor()에서 초기화해야하며 배열 요소가 있어야합니다. [] []에서 전달되었습니다.

그냥 단순하게 유지하십시오. 10 개의 지폐를 담을 수있는 지갑을 나타내는 지갑 클래스를 만듭니다. 우리는 구체적으로 배열 목록을 사용하지 않고 배열을 사용하도록 지시 받았습니다. 지갑 두 개의 인스턴스 변수를 가지고,하지만 난에 문제가있는 유일한 사람은 다음 호출 내 생성자

int a[ ] = {100, 50, 20, 1}; 

Wallet myWallet = new Wallet(a); 

에 의해 새로운 지갑 개체를 만드는 내 주요 이것

private int contents[ ]; 

, 난에이 contents [] 인스턴스 변수에 메모리를 할당 한 다음 []에서 요소를 가져 와서 contents 배열 안에 넣습니다.

public Wallet(int a [ ]) 

System.out.println("Constructor #2 called."); 

//allocate memory for contents[] 


contents = new int[MAX] //supposed to be of size 10, given info 



//initialize contents[] from a[] 

여기 붙어있는 방법은 서로 어떻게 지정하나요?

어떻게 i = 0-3의 내용으로 100,50,20,1을 복사하고 요소 = 0을 재설정 했습니까?

답변

0

당신은

public Wallet(int[] a) { 
    System.out.println("Constructor #2 called."); 
    this.contents = Arrays.copyOf(a, 10); 
} 
처럼 Arrays.copyOf(int[], int) 뭔가를 사용할 수 있습니다