Programming Language/Java

2차원 배열로 값들의 합계와 평균 출력하기

Ma_Sand 2022. 2. 28. 09:51
반응형
public void DimentionArray() {
    int[][] arr = {{1, 2, 3, 4, 5}, {3, 4, 5, 6, 7}, {5, 5, 5, 5, 5}, {7, 7, 7, 7, 7}};
    
    int sum = 0;
    int avg = 0;
    int count = 0;
    
    for(int i = 0; i < arr.length; i++) {
        for(int j = 0; j < arr[i].length; j++) {
            //합계
            sum += arr[i][j];
            count++;
        }
    }
    System.out.println("합계: " + sum);
    System.out.println("평균: " + (double) sum / count);
}

▼실행결과

합계: 100
평균: 5

 

2차원 배열은 행과 열로 구성되어 있기 때문에 for문을 2개 작성해야 한다.

첫 번째 for문은 행이고, 두 번째 for문은 열에 해당한다. 변수는 각각 다르게 해야 한다.

그리고 행의 길이는 {}의 개수이므로 arr.length로 설정하면 되고, 열의 길이는 행의 원소 개수이므로 arr[i].length라고 설정하면 된다.

 

합계와 평균을 담을 정수형 변수 sum과 avg를 0으로 초기화를 해놓는다.

2차원 배열이기 때문에 arr[i][j]을 합계에 담으면 되는데, 

0행 0열의 값 + 0행 1열의 값 + 0행 2열의 값 + ... + 3행 5열의 값까지 더해야 하므로 '+='로 합계를 만든다.

그리고 평균을 구할 때 합계에서 총 개수로 나누어야 하므로 새로운 변수 count를 생성하여 초기화하고 count로 증감식을 작성해주면 된다.

 

그럼 이제 합계와 평균을 출력하면 된다.

아주 간단하게 합계는 sum으로 출력하고, 평균은 정확한 소수점자리까지 알고 싶으므로 실수형 double로 자동 형변환을 해주고 sum을 count로 나누면 소수점을 포함한 값이 출력된다.

반응형