중첩 for문과 향상된 for문을 이용한 간단한 예제 풀이

이동엽·2022년 3월 2일
0

java

목록 보기
3/18
post-thumbnail

💡 이것이 자바다 5장 확인문제 8번.

주어진 배열의 전체 항목의 합과 평균 값을 구해보세요.

public class Exercise08 {
	public static void main(String[] args) {
    	int[][] array = {
        	{95, 86},
            {83, 92, 96},
            {78, 83, 93, 87, 88}
		};
        int sum = 0;
        double avg = 0.0;
        
        //코드 작성
        
        System.out.println("sum: " + sum);     //sum: 881
        System.out.println("avg: " + avg);     //avg: 88.1
	}
}

정답

int count = 0;
for (int i = 0; i< array.length; i++)
	for ( int j = 0; j < array[i].lenth; j++) {
    	sum += array[i][j];
        count++;
    }
avg = (double) sum / count;

System.out.println("sum: " + sum);     //sum: 881
System.out.println("avg: " + avg);     //avg: 88.1

<중첩된 for문을 이용한 풀이>

  • count에 array의 원소 개수를 저장하여 avg를 구할때 이용하였다.
  • 20번째 라인에서 avg는 실수형이고, sum과 count는 정수형이므로 자동 형변환을 해주었다.
int count = 0;
for (int[] i : array)
	for (int j : i) {
    	sum += j;
        count++;
    }
avg = (double) sum / count;

System.out.println("sum: " + sum);     //sum: 881
System.out.println("avg: " + avg);     //avg: 88.1

<향상된 for문을 이용한 풀이>

  • int[] i 를 통해 array의 저장할 열을 지정하였고, int j를 통해 각 행의 값들을 받았다.
profile
백엔드 개발자로 등 따숩고 배 부르게 되는 그 날까지

0개의 댓글