[Java] tip: 성적 프로그램 만들기 (다차원 배열, for문)

febCho·2023년 10월 9일
0

Java

목록 보기
24/53

다음은 다차원 배열을 통해 5명의 성적을 관리하는 프로그램이다.

package kr.s06.array;

public class SecondArrayMain02 {
	public static void main(String[] args) {
		//2차원 배열의 선언 및 생성, 초기화
		int[][] score = {
				         {99, 89, 91},
				         {98, 89, 95},
				         {97, 82, 94},
				         {96, 81, 93},
				         {95, 80, 92}
		                };
		System.out.println("번호 국어 영어 수학 총점 평균");
		System.out.println("====================");
		
		            //행의 길이: 5
		for(int i=0;i<score.length;i++) {//i: 행의 번호(0~4)
			int sum = 0;
			
			//번호 출력
			System.out.print(" " + (i+1) + " ");
            //번호의 '호' 자리에 정렬 위한 양 옆 공백
			             //열의 길이: 3
			for(int j=0;j<score[i].length;j++) {//j: 열의 번호(0~2}
				//총점 구하기
				sum += score[i][j];
				
				//과목 점수 출력
				System.out.print(score[i][j] + " ");
			}//end of inner for
			
			//총점 출력 및 평균을 구하고 출력
			System.out.println(sum + " " + sum/score[i].length);
			
		}//end of outer for
		}
	}
출력)
번호 국어 영어 수학 총점 평균
====================
 1 99 89 91 279 93
 2 98 89 95 282 94
 3 97 82 94 273 91
 4 96 81 93 270 90
 5 95 80 92 267 89
  1. 5명의 성적(3과목)을 관리하는 것이기 때문에 2차원 배열을 선언 및 생성 후 아래와 같이 초기화한다.
		//2차원 배열의 선언 및 생성, 초기화
		int[][] score = {
				         {99, 89, 91},
				         {98, 89, 95},
				         {97, 82, 94},
				         {96, 81, 93},
				         {95, 80, 92}
		                };
  1. 항목 구분을 위한 안내 문구를 System.out.println("번호 국어 영어 수학 총점 평균"); 출력한다.

  2. 요소 출력을 위해 이중 for문을 만드는데, 이때 루프를 돌며 변화하는 각 행열의 값들을 sum 변수에 누적해 총합을 구하고 과목 점수도 출력한다.

  3. 그리고 행의 길이가 곧 학생 수에 해당하므로, 행의 index를 뜻하는 i를 활용해 번호 출력을 해준다. 이때, i는 0부터 시작하므로 (i+1)로 보정을 해준다.

  4. 평균의 경우 열의 길이가 곧 과목 수에 해당하므로, 총합을 score[i].length로 나누어 구한다.

  5. tip: 닫는 중괄호가 여러 개라 헷갈린다면, 닫는 중괄호 끝에 주석을 달아 표시해두면 좋다.
    ex. }//end of inner for

profile
Done is better than perfect.

0개의 댓글