romworld

chapter 05-4. 다차원배열 문제 (학생들의 평균 구하기) 본문

JAVA/문제풀이

chapter 05-4. 다차원배열 문제 (학생들의 평균 구하기)

inderrom 2022. 9. 23. 02:08

 

김범수, 나얼, 박효신, 이수, 신용재, 하연우 총 여섯명의
국어/수학/영어/과학/코딩 점수를 각 0~100까지의 랜덤 값으로
입력하고, 학생별 평균을 구하세요.
 
======================원점수========================  
학생명     국어    수학    영어    과학    코딩
김범수 87 68 20 87 87
나얼        87 51 56 15 87
박효신      87 68 87 89 77
이수        87 34 56 47 87
신용재      57 68 86 87 68
하연우     87 18 56 87 87

======================평균점수========================  
학생명     국어    수학    영어    과학    코딩   평균
김범수 87 68 20 87 87     00
나얼        87 51 56 15 87     00
박효신      87 68 87 89 77     00
이수        87 34 56 47 87     00
신용재      57 68 86 87 68     00
하연우     87 18 56 87 87     00
========================================================  
String[] names = {"김범수","나얼","박효신","이수","신용재","하연우"};
		String[] subjs = {"국어","수학","영어","과학","코딩"};
		int[][] scores = new int[names.length][subjs.length];
		//int[] sum = new int[names.length];
		double[] avg = new double[names.length];
		for(int i = 0; i < scores.length; i++) {
			for(int j = 0; j < scores[i].length; j++ ) {
				scores[i][j] = new Random().nextInt(101);
			}
			System.out.println(Arrays.toString(scores[i]));
		}

//		위에 for문 이렇게 작성해도 됨
//		for(int i =0; i <names.length; i++) {
//			for(int j = 0; j < subjs.length; j++) {
//				sum[i] += scores[i][j];
			
	
		System.out.println("======================원점수========================");
		System.out.print("학생명\t");
		for(int i = 0; i < subjs.length; i++) {
			System.out.print(subjs[i] + "\t");
		}
		System.out.print("평균");
		System.out.println();
		//score.length도 됨
		for(int i = 0; i < names.length; i++) {
			System.out.print(names[i] + "\t");
			for(int j =0; j < subjs.length; j++) {
				System.out.print(scores[i][j] + "\t");
				
			}
			System.out.println();
			
		}
	
		
		System.out.println("======================평균점수========================");
		System.out.print("학생명\t");
		for(int i = 0; i < subjs.length; i++) {
			System.out.print(subjs[i] + "\t");
		}
		
//		//향상된 for문
//		int idx = 0;
//		for(String subj : subjs) {
//			System.out.print(idx + "." + subj + "\t");
//			idx++;
//	}
		
		System.out.print("평균");
		System.out.println();
		//score.length도 됨
		for(int i = 0; i < names.length; i++) {
			System.out.print(names[i] + "\t");
			double sum = 0; //<= 합계
			for(int j =0; j < subjs.length; j++) {
				sum += scores[i][j]; //<=합계
				System.out.print(scores[i][j] + "\t");
				
			}
			System.out.printf("%.2f",sum / subjs.length);
			System.out.println();
	}

 

Comments