초급JAVA 6 - 배열 시험

voilà!·2021년 10월 31일
0

초급JAVA

목록 보기
13/24
	 * 학생들의 국어, 영어, 수학, 사회, 과학, Oracle, Java 점수를
	 * 0~100랜덤으로 생성해주시고, 아래와 같이 출력해주세요.
	 * 
	 *  이름       국어       영어      수학      사회       과학     Oracle      Java      합계      평균       석차 
	 * 홍길동       90         90       90       90        90        90         90       630      90.00       1
	 * 홍길동       90         90       90       90        90        90         90       630      90.00       1
	 * 홍길동       90         90       90       90        90        90         90       630      90.00       1
	 * 홍길동       90         90       90       90        90        90         90       630      90.00       1
	 * 홍길동       90         90       90       90        90        90         90       630      90.00       1
	 * 홍길동       90         90       90       90        90        90         90       630      90.00       1
	 * 홍길동       90         90       90       90        90        90         90       630      90.00       1
	 * 과목합계    450        450      450      450       450       450        450          
	 * 과목평균    90.00      90.00    90.00    90.00    90.00     90.00     90.00     
	 */
	String[] students = {"자바천재", "어피치", "라이언", "죠르디", "쿼카", "샐리", "브라운", "코니", "꿈돌이", "우디"};
	String[] subjects = {"국어","영어","수학","사회","과학","Oracle","Java","합계","평균","석차"};
	int[][] scores = new int[students.length][subjects.length];
	
	//랜덤 점수 구하기
	for(int i = 0; i < scores.length; i++){
		for(int j = 0; j < scores[i].length; j++){
			scores[i][j] = (int)(Math.random()*101);
		}
	}
	
	//합계, 평균 구하기
	int[]sum = new int[scores.length]; 
	double[]avg = new double[scores.length];
	for(int i = 0; i < scores.length; i++){
		for(int j = 0; j < scores[i].length; j++){
			sum[i] += scores[i][j]; //합계
		}
			avg[i] = Math.round((double)sum[i]/subjects.length*100) / 100.0; //평균
	}
	
	//과목합계,과목평균
	int[]sumcount = new int[subjects.length];
	double[]sumavg = new double[subjects.length];
	for(int i = 0; i < subjects.length ; i++){
		for(int j = 0; j < subjects.length; j++){
			sumcount[i] += scores[i][j];
		}
		sumavg[i] = Math.round((double)sumcount[i]/scores.length*100) / 100.0;
	}

	//석차
	int[]rank = new int[scores.length];
	for(int i = 0; i < scores.length; i++){
		rank[i] = 1;
		for(int j = 0; j < scores.length; j++){
			if(sum[i]<sum[j]){
				rank[i]++;
			}
		}
	}
	
	System.out.print("이름");
	for(int i = 0; i < subjects.length; i++){
		System.out.print("\t"+subjects[i]);	
	}
	System.out.println("\t합계\t평균\t석차");
	for(int i = 0; i < scores.length; i++){
		System.out.print(students[i]+"\t");
		for(int j = 0; j < scores[i].length; j++){
			System.out.print(scores[i][j]+"\t");
		}
			System.out.println(sum[i]+"\t"+avg[i]+"\t"+rank[i]);
	}
	
	System.out.print("과목합계");
	for(int i = 0; i < sumcount.length; i++){
		System.out.print(sumcount[i]+"\t");
	}
	System.out.println();
	
	System.out.print("과목평균");
	for(int i = 0; i < sumavg.length; i++){
		System.out.print(sumavg[i]+"\t");
	}

0개의 댓글