본문 바로가기
자바 프로그래밍/코딩

TestAverage

by 세인트킴 2023. 4. 24.
10명의 점수를 받아서 평균을 내는 방법. 2차원 배열을 받는다.

public class TestAverage {
public static void main(String[] args) {
    int[][] score = {{87, 96, 70}, {68, 87, 90}, {94, 100, 90},
                              {100, 81, 82},{83, 65, 85}, {78, 87, 65},
                              {85, 75, 83},{91, 94, 100}, {76, 72, 84}, {87, 93, 73}};

    for(int student=0; student<score.length; student++) {
        for(int test=0; test<score[student].length; test++)
            System.out.printf("%4d ", score[student][test]);
        System.out.printf("%.1f\n", getAverage(score[student]));
}
student를 0으로 초기화 하고, score.lenth베열에서 loop를 돌려서 값을 넣는다. test를 0으로 초기화하고,
똑같이 score.lenth배열에서 값을 찾아서 넣는다.
for loop 출력에서 정수형 타입으로 4칸씩 띄운 뒤, getAverage메소드를 통해 student의 점수를 출력한다.

    for(int test=0; test<score[0].length; test++)
        System.out.printf("%4.1f ", getTestAverage(score, test));
    System.out.println();
for 구문을 이용해서 반목문을 만들어준 후, 1번째 출력에서 getTestAverage메소드를 호출해서 점수를 합산해서 평균을 낸다.
위에서 부른 getAverage, getTestAvegrage메소드는 밑에서 호출해준다.
}
public static double getAverage(int[] arr) {
    double m = 0.0;
    for(int d : arr)
        m += d;
    return m / arr.length;
}
public static double getTestAverage(int[][] arr, int test) {
    double m = 0.0;
    for(int student=0; student<arr.length; student++)
        m += arr[student][test];
    return m / arr.length;
getAverage메소드는 arr배열을 만들고, 지역변수 실수형 m을 0.0으로 초기화한다. 그 다음 for-each loop를 사용해서 arr배열의 모든 값을 합산하고, m변수에 저장한다. 그리고 m을 arr.length로 나눈 값을 반환한다. m/arr.length
getTestAverage 메소드는 정수형 배열 arr과, 정수형 변수 int를 사용한다. 
}
}

'자바 프로그래밍 > 코딩' 카테고리의 다른 글

ex06_3.java  (0) 2023.05.06
ex06_2.java  (0) 2023.05.06
ex06_1.java  (0) 2023.05.06
병렬 패리티 비트  (0) 2023.04.26
짝수 패리티 비트  (0) 2023.04.26