-
JAVA_08_실습_객체(2)1. JAVA/1.2 실습 2022. 3. 20. 23:07
문제 : Student클래스를 생성하여 5명의 데이터를 배열로 만들기.
멤버 변수는 private로 구현(국어점수,영어점수,수학점수, 합계, 평균, 등수)
등수 기준 오름차순 정렬1) Student 클래스 작성
public class Student { private int kor, eng, math,rank,total; private double avg; Student(){} Student(int kor, int eng, int math){ this.kor = kor; this.eng = eng; this.math = math; this.rank = 1; setTotal(); setAvg(); } public void setTotal() { this.total = kor+math+eng; } public void setAvg() { this.avg = getTotal()/3.0; } public int getBan() { return ban; } public void setBan(int ban) { this.ban = ban; } public int getNo() { return no; } public void setNo(int no) { this.no = no; } public int getKor() { return kor; } public void setKor(int kor) { this.kor = kor; } public int getEng() { return eng; } public void setEng(int eng) { this.eng = eng; } public int getMath() { return math; } public void setMath(int math) { this.math = math; } public int getRank() { return rank; } public void setRank(int rank) { this.rank = rank; } public int getTotal() { return total; } public void setTotal(int total) { this.total = total; } public double getAvg() { return avg; } public void setAvg(double avg) { this.avg = avg; } @Override public String toString() { return rank + "등 ==> 총점 : " + total + ", 평균 : " + avg+ "\n\t국어점수 : " + kor + ", 영어점수 : " + eng + ", 수학점수 : " + math; } }
2) 배열을 셋팅하고 출력해주는 메인 클래스 작성
public class studPrint{ int kor, eng, math,rank; Student s[]; // 학생 5명을 담을 배열 변수 선언 studPrint(){ setting(); setRank(); System.out.println("<<<< 정렬 전 >>>>"); toPrint(); setArr(); System.out.println("<<<< 정렬 후 >>>>"); toPrint(); } // 국,영,수 점수 랜덤으로 셋팅 public void setting() { s = new Student[5]; //5명으로 배열 갯수 셋팅 for(int i = 0; i<s.length;i++) { kor = (int)(Math.random()*41+60); eng = (int)(Math.random()*41+60); math = (int)(Math.random()*41+60); s[i] = new Student(kor,eng,math); } } //학생 개개인별로 등수 설정 public void setRank() { for(int i = 0; i<s.length;i++) { rank =s[i].getRank(); for(int j = 0; j<s.length;j++) { if(s[i].getTotal()<s[j].getTotal()) { s[i].setRank(rank+=1); } } } } //등수별로 오름차순 정렬 public void setArr() { for(int i = 0; i<s.length;i++) { for(int j = i+1; j<s.length;j++) { if(s[i].getRank()>s[j].getRank()) { Student temp = s[i]; s[i] = s[j]; s[j] = temp; } } } } //출력 public void toPrint() { for(Student stud : s) { System.out.println(stud.toString()); } } public static void main(String[] args) { new studPrint(); } }
'1. JAVA > 1.2 실습' 카테고리의 다른 글
JAVA_10_실습_추상 (0) 2022.03.20 JAVA_09_실습_상속 (0) 2022.03.20 JAVA_08_실습_객체(1) (0) 2022.03.16 JAVA_07_실습_함수 (0) 2022.03.16 JAVA_06_실습_배열 (0) 2022.03.16