초급JAVA 7 - 과제

voilà!·2021년 11월 1일
0

초급JAVA

목록 보기
15/24

Class 사용해서 성적처리 프로그램 만들기

> public class ScoreStudy {	
	public static void main(String[] args) {	
	String[] studentNames = {"이름","이름","이름","이름","이름","이름","이름","이름","이름","이름","이름","이름","이름","이름","이름","이름","이름","이름","이름","이름","이름","이름","이름","이름","이름"};
	
	Student[] students = new Student[studentNames.length];
	
	for(int i = 0; i < 25; i++){
		Student student = new Student();
		
		student.kor = (int)(Math.random() * 101);
		student.eng = (int)(Math.random() * 101);
		student.math = (int)(Math.random() * 101);
		student.name = studentNames[i];
		student.rank = 1;
		
		students[i] = student;
	}
	
	//성적처리 프로그램을 완성해주세요.
	//합계,평균
	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 / 3.0 * 100)/100;
	}
	
	//석차
	for(int i = 0; i < students.length; i++){
		for(int j = 0; j < students.length; j++){
		if(students[i].avg < students[j].avg){
			students[i].rank++;
		}
	  }
	}
	//석차순정렬
	for(int i = 0; i < students.length-1; i++){
		int min = i;
		for(int j = i+1; j < students.length; j++){
			if(students[j].rank < students[min].rank){
				min = j;
			}
		}
		Student temp = students[i];
		students[i] = students[min];
		students[min] = temp;
	}
	//과목합계, 과목평균
	int[]sumcount = new int[3];
	for(int i = 0; i < students.length; i++){
		sumcount[0] += students[i].kor;
		sumcount[1] += students[i].eng;
		sumcount[2] += students[i].math;
	}
	double[]avgcount = new double[3];
	for(int i = 0; i < avgcount.length; i++){
		avgcount[i] = Math.round((double)sumcount[i]/students.length*100.0)/100;
	}
	
	//출력
	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+"\t");
	}
	System.out.print("과목합계\t");
	for(int i = 0; i < sumcount.length; i++){
		System.out.print(sumcount[i]+"\t");
	}
	System.out.print("\n과목평균\t");
	for(int i = 0; i < avgcount.length; i++){
		System.out.print(avgcount[i]+"\t");
	}
	

}

0개의 댓글