글 작성자: 취업중인 피터팬
728x90
기본 환경
JDK : 1.8.0_261 버전
JRE : 1.8.0_261 버전
JAVA VERSION : 8 업데이트 261
Eclipse IDE VERSION : 2020-06버전

 

시나리오

학생수를 입력 받은 후 학생수와 과목수를 가지고 이차원 배열을 선언하고 학생별로

각 과목별 점수와 총점, 평균을 출력하는 프로그램을 만드시오. (과목은 수학,영어,국어가 있다.)


 

 

 

다음과 같은 결과가 나와야 합니다.

 

 

정답
package ex06array;

import java.util.Scanner;

public class QuSungJuk {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		
		System.out.printf("학생수를 입력하세요 : ");
		int studentNum = scan.nextInt();
		
		int[][] studentGrade = new int[studentNum][3];
		
		for(int i = 0; i < studentGrade.length; i++) {
			System.out.printf("[%d번째 학생의 점수 입력]", i+1);
			System.out.println();
			System.out.printf("국어점수 입력?");
			studentGrade[i][0] = scan.nextInt();
			System.out.printf("영어점수 입력?");
			studentGrade[i][1] = scan.nextInt();
			System.out.printf("수학점수 입력?");
			studentGrade[i][2] = scan.nextInt();
			
		}
		
		int[] total = new int[studentNum];
		double[] avg = new double[studentNum];
		
		for(int i = 0; i < total.length; i++) {
			for(int j = 0; j <studentGrade[i].length; j++) {
				total[i] += studentGrade[i][j];
			}
			avg[i] = total[i]/3.0;
		}
		
		System.out.println("========================");
		System.out.println("NO KOR ENG MAT TOT AVG");
		for(int i = 0; i < studentGrade.length; i++) {
			System.out.printf("%3d %3d %3d %4d %4d %6.2f", i+1, studentGrade[i][0],studentGrade[i][1],studentGrade[i][2],total[i],avg[i]);
			System.out.println();
			
		}
		
		
		
	}

}

 

이번 문제는 꽤 다양한 정답이 있을거 같습니다. 출력값만 같다면 모두 틀린것이 아닙니다.