2014-09-27 2 views
0

원래 배열에 저장된 값의 수만큼 길이의 배열 복사본을 만드는 것으로 가정 된 메서드를 만들었습니다. 내 원래의 배열의 길이는 10이다, 나는 단지 그 안에 포함 된 4 개 개의 값이 그렇다면, 그 배열의 내 사본 길이 여기에 3이어야하는 것은 내 코드입니다 : 나는에 인쇄 문을 사용 잘린 배열 복사본을 반환하는 데 문제가 발생했습니다.

 public int[] getArray(){ 
      int[] temp = new int[size]; 
      for(int i = 0; i<size; i++){ 
       temp[i] = a[i]; 
       //System.out.print(temp[i] + " "); 
     } 
     return temp; 
    } 

어레이가 복사되는지 확인하십시오. 내 메서드에서이 메서드를 호출하면 출력됩니다. 그러나 print 문을 주석 처리하고 "return temp"를 사용하면 메모리 위치가 반환됩니다. JCF 또는 내장 된 메서드를 사용하지 않고 복사 된 배열의 값을 어떻게 인쇄합니까? 나는 return 문을 사용해야하며, 선생님이 제공 한 스펙에 대해 메소드 이름이 정확히 동일하게 유지되어야합니다. 어떤 도움을 주시면 감사하겠습니다.

+0

네 개의 요소를 모두 포함하려면 복사본의 길이가 4 여야합니다. 어쨌든 뭘 원해? 당신은 배열의 요소를 콘솔에 인쇄하고 싶습니까? – Alboz

+0

예. 내 사본은 빈 인덱스를 포함하지 않고 실제 값의 수를 보유 할만큼 충분히 커야합니다. 나는 그 부분을 끝내었다. 메소드 getArray()에서 "return"을 사용하고 가져 오기 또는 JCF를 사용하지 않고 getArray() 메소드를 호출하여 main 메소드의 실제 값을 인쇄하는 방법을 찾고 싶습니다. 기본적으로 처음부터 손으로 쓴 코드. 미스터 알버트의 대답은 올바르게 작동하지만 나는 처음부터 그것을 할 수 있는지 알아 내려고 노력하고있어. 알버트 씨와 비슷한 대답 만 찾을 수 있습니다. 아마 불가능합니다. – Kumar

+0

@Harold'Arrays.toString (int [] a)'의 소스 코드를보세요. 이것은 (거의) _ 처음부터입니다. 입증 된 바퀴를 다시 발명하는 것은 일반적으로 나쁜 생각입니다. –

답변

0

해당 주소뿐만 아니라 전체 배열을 출력하려면 java.util.Arrays.toString()을 사용하십시오.

System.out.println(java.util.Arrays.toString(getArray())); 
+0

java.util.Arrays를 사용하지 않도록 print 문을 다시 작성할 수 있습니까? 아니면 불가능합니다. 나는 교수가 정확히 무엇을 원하고 이메일에 매우 빠르게 반응하지 않는지 확신 할 수 없다. 그래서 나는 아무것도 가져 오지 않고 어떻게하는지 알아 내려고 노력해 왔습니다. – Kumar

관련 문제