Java 학생 점수 코드를 리팩토링하기

다음 코드를 보고 학생 점수를 배열을 이용하여 개선하도록 한다.

public class Array1 {
    public static void main(String[] args) {
        int student1 = 90;
        int student2 = 85;
        int student3 = 100;
        int student4 = 70;
        int student5 = 62;
        int student6 = 54;
        int count = 6;

        int totalScore = student1 + student2 + student3 + student4 + student5 + student6;
        double avgScore = (double) totalScore / count;

        System.out.println("점수 총합: " + totalScore);
        System.out.println("점수 평균: " + avgScore);
    }
}
점수 총합: 461
점수 평균: 76.83333333333333

배열로 개선하기

public class Array1 {
    public static void main(String[] args) {
        int[] students = {90, 85, 100, 70, 62, 54};
        int totalScore = 0;
        int count = 6;
        
        for (int v : students) {
            totalScore += v;
        }
        
        double avgScore = (double) totalScore / count;

        System.out.println("점수 총합: " + totalScore);
        System.out.println("점수 평균: " + avgScore);
    }
}
  • 코드가 확연히 줄어든 것을 볼 수 있다.
  • int count 대신 students.length 평균 점수를 구해보도록 한다.
public class Array1 {
    public static void main(String[] args) {
        int[] students = {90, 85, 100, 70, 62, 54};
        int totalScore = 0;

        for (int v : students) {
            totalScore += v;
        }

        double avgScore = (double) totalScore / students.length;

        System.out.println("점수 총합: " + totalScore);
        System.out.println("점수 평균: " + avgScore);
    }
}