CODE/JAVA1

Score

maskan 2021. 1. 27. 16:19
public class Score {

	public static void main(String[] args) {
		Student[] students = new Student[10]; // 참조형 타입 - 기본값이 null이다

		// Student student = new Student(); -- 한명의 값만 계속 바꿈

		for (int i = 0; i < students.length; i++) {
			Student student = new Student();

			student.name = "학생" + (i + 1);
			student.rank = 1;
			student.kor = (int) (Math.random() * 101);
			student.eng = (int) (Math.random() * 101);
			student.math = (int) (Math.random() * 101);

			students[i] = student;
		}
		students[1].name = "";

		// 성적 관리 프로그램을 완성해주세요.

		System.out.println("\t국어\t영어\t수학\t합계\t평균\t석차");
		for (int i = 0; i < students.length; i++) {
			students[i].sum = students[i].kor + students[i].eng
					+ students[i].math;
			students[i].avg = Math.round(students[i].sum * 100 / 3) / 100.0;
		}
		for (int i = 0; i < students.length; i++) {
			for (int j = 0; j < students.length; j++) {
				if (students[i].sum < students[j].sum) {
					students[i].rank++;
				}
			}
		}
		for (int i = 0; i < students.length; i++) {
			for (int j = 0; j < students.length; j++) {
				if (students[j].rank == i + 1) {
					System.out.println(students[j].name + "\t"
							+ students[j].kor + "\t" + students[j].eng + "\t"
							+ students[j].math + "\t" + students[j].sum + "\t"
							+ students[j].avg + "\t" + students[j].rank);
				}
			}
		}

		/************** 답안 **************/

		for (int i = 0; i < students.length - 1; i++) {
			int min = i;
			for (int j = i + 1; j < students.length; j++) {
				if (students[min].rank > students[j].rank) {
					min = j;
				}
			}
			Student temp = students[i];
			students[i] = students[min];
			students[min] = temp;
		}

		System.out.println("\t국어\t영어\t수학\t합계\t평균\t석차");
		for (int i = 0; i < students.length; i++) {
			System.out.println(students[i].name + "\t" + students[i].kor + "\t"
					+ students[i].eng + "\t" + students[i].math + "\t"
					+ students[i].sum + "\t" + students[i].avg + "\t"
					+ students[i].rank);
		}

		// 과목별 합계

		int korSum = 0;
		int engSum = 0;
		int mathSum = 0;
		for (int i = 0; i < students.length; i++) {
			korSum += students[i].kor;
			engSum += students[i].eng;
			mathSum += students[i].math;
		}
		double korAvg = (double) korSum / students.length;
		double engAvg = (double) engSum / students.length;
		double mathAvg = (double) mathSum / students.length;
		System.out.println("과목합계\t" + korSum + "\t" + engSum + "\t" + mathSum);
		System.out.println("과목합계\t" + korAvg + "\t" + engAvg + "\t" + mathAvg);

	}
}

 

 

public class Student {

	int kor;
	int eng;
	int math;
	int sum;
	double avg;
	String name;
	int rank;

}

 

'CODE > JAVA1' 카테고리의 다른 글

HairSalon  (0) 2021.01.27
RPG  (0) 2021.01.27
Restaurant  (0) 2021.01.27
Hippocrates  (0) 2021.01.27
VariableInit  (0) 2021.01.27