2017-02-16 3 views
1

배열을 전달할 수 없다는 것을 알고 있습니다. 그렇다면 어떻게 참조로 전달해야합니까? 질문은 참고를 위해 맨 아래에 있습니다. 배열을 Java로 전달

import java.util.Scanner; 
public class MethodsArrays { 

    public static int[] fillArray() { 
     Scanner scan = new Scanner(System.in); 
     int size = scan.nextInt(); 
     int array[] = new int[size]; 
     int pos=0; 

     for(int i=0; i<array.length; i++) { 
      pos=i+1; 
      System.out.println("Enter element " + pos); 
      array[i]=scan.nextInt(); 
     } 
     return array; 
    } 

    public static int sumArray(int [] array) { 
     int sum=0; 

     for(int i=0; i<array.length-1; i++) { 
      sum=array[i]+array[i+1]; 
     } 
     return sum; 
    } 

    public static int avgArray(int [] array) { 
     int avg=0; 
     int sum = sumArray(array); 
     avg = sumArray(array)/array.length-1; 
     return avg; 
    } 

    public static void printArray(int [] array) { 
     for(int i=0; i<array.length; i++) { 
      System.out.print(array[i] + " "); 
     } 
    } 

    public static void main(String[] args) { 
     fillArray(); 
     System.out.println("Sum=" + sumArray(array)); 
     System.out.println("Average=" + avgArray(array)); 
     printArray(array); 
    } 
} 

4 개 정적 메소드 fillArray (라는 을 갖는다라는 MethodsArrays) Java 프로그램을 작성, sumArray() avgArray() 및 printArray(). fill 메서드 ( )는 main 메서드에서 호출해야합니다. fillArray() 메서드는 스캐너를 사용하여 배열의 길이를 나타내는 숫자 을 가져온 다음 배열에서 을 채우기 위해 숫자를 읽어야합니다. sumArray() 메서드는 int 배열을 입력 값인 매개 변수로 가져와 배열의 모든 요소의 합계 인 정수 값을 반환합니다. avgArray() 메서드는 입력 매개 변수로 int 배열 을 가져와 배열의 모든 요소 평균 인 인 정수 값을 반환합니다. printArray() 메서드 은 입력 배열로 int 배열을 사용하고 반환 값은 입니다. 그런 다음 배열의 요소를 동일한 줄에 공백 ("")으로 구분하여 인쇄해야합니다. 모든 메소드는 정수 배열에 대해 작동해야합니다.

+1

당신은 할 것이다 더 적은 문제 ... – Tom

+0

왜 배열 당신이하고있는 방법을 전달할 수 없습니다? 'fillArray()'호출 결과를'array'라는 변수에 저장하면 변수 이름이 실제로 존재하므로 다음 호출에서이 변수 이름을 사용할 수 있습니다. –

+1

필자는 fillArray() 결과를 int [] array = fillArray();와 같은 변수에 할당해야한다고 생각합니다. –

답변

2

코드가 정상적으로 보입니다. fillArray()의 결과를 변수에 할당하면이 결과를 다른 방법으로 사용할 수 있습니다.

그것과 같을 것이다 : 당신이 관심을 실제로 할 경우 어떻게`fillArray()`반환에 대해

int[] array = fillArray(); 
System.out.println("Sum=" + sumArray(array)); 
System.out.println("Average=" + avgArray(array)); 
printArray(array); 
+1

'avgArray' 메서드에서 OP는'array.length-1'로 나눕니다. 그 의도가 확실하지 않은 경우. –

관련 문제