ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 220314_JAVA_문제 풀어보기
    1. JAVA/1.3 문제 2022. 3. 14. 11:49

    <<문제>>
    1. Student 클래스를 생성한  후 5명의 국어, 영어, 수학 데이터를 입력한다.
    2. 과목 합계 구하기
    3. 과목 평균 구하기
    4. 5명 등수 정하기
    5. 1등부터 등수별로 정렬
        
    <<조건>>
    1. 한개의 함수내에서 처리하기..
    2. 기능별로 분리해서 함수 만들어서 처리...

     

     

    public class Student {
    	private String name;
    	private int rank, total,ban,no,kor,eng,math;
    	private double avg;
    	
    	Student(){}
    	Student(int kor,int eng,int math){
    		this.kor = kor;
    		this.eng = eng;
    		this.math = math;
    		this.rank = 1;
    		this.total = getTotal();
    		this.avg = getAvg();
    		this.ban = ban;
    		this.no = no;
    		this.name = name;
    	}
    	
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public int getRank() {
    		return rank;
    	}
    	public void setRank(int rank) {
    		this.rank = rank;
    	}
    	public int getTotal() {
    		return kor+eng+math;
    	}
    	public void setTotal(int total) {
    		this.total = total;
    	}
    	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 double getAvg() {
    		return getTotal()/3.0;
    	}
    	public void setAvg(double avg) {
    		this.avg = avg;
    	}
    	
    	
    	
    	
    	
    	
    	}

     

    public class Ex01 {
    	String name;
    	int ban, no, kor, eng, math,total,rank;
    	double avg;
    	Student [] stud;
    	Ex01_01(){
    		setting();
    		setRank();
    		toPrint();
    		setArr();
    		System.out.println("*******************정렬 후*******************");
    		
    		toPrint();
    	}
    	
    	public void setting() {
    		stud = new Student[5];
    		for(int i = 0; i<stud.length;i++) {
    			kor = (int)(Math.random()*41+60);
    			eng = (int)(Math.random()*41+60);
    			math = (int)(Math.random()*41+60);
    			stud[i] = new Student(kor,eng,math);
    			no = (int)(Math.random()*31+1);
    			ban = (int)(Math.random()*11+5);
    			name =(char)(Math.random()*('Z'-'A'+1)+'A')+"학생";
    			stud[i].setName(name);
    			stud[i].setNo(no);
    			stud[i].setBan(ban);
    			
    		}
    		
    	}
    	
    	public void setRank() {
    		for(int i = 0; i<stud.length;i++) {
    			for(int j = 0; j<stud.length;j++) {
    				rank = stud[i].getRank();
    				if(stud[i].getAvg()<stud[j].getAvg()) {
    					stud[i].setRank(rank+1);
    				}
    			}
    		}
    		
    		
    	}
    	
    	public void  toPrint() {
    		for(int i = 0; i<stud.length;i++) {
    			Stud st = stud[i];
    			kor = st.getKor();
    			eng = st.getEng();
    			math = st.getMath();
    			no = st.getNo();
    			ban = st.getBan();
    			name = st.getName();
    			avg = st.getAvg();
    			total = st.getTotal();
    			rank = st.getRank();
    			System.out.println("=============================================================");
    			System.out.printf(" [%d등] ==> %s (3학년 %d반 %d번) 총점 : %d , 평균 : %6.2f\n",rank,name,ban,no,total,avg);
    			System.out.printf("\t성적>> 국 : %d / 영 : %d /수 : %d\n", kor,eng,math);
    			
    		}
    		System.out.println("=============================================================");
    	}
    	
    	public void setArr() {
    		for(int i = 0; i<stud.length;i++) {
    			for(int j = i+1; j<stud.length;j++) {
    				if(stud[i].getRank()>stud[j].getRank()) {
    					Stud temp = stud[i];
    					stud[i] = stud[j];
    					stud[j] = temp;
    				}
    			}
    		}
    		
    		
    	}
    	
    	public static void main(String[] args) {
    	new Ex01();}
    
    	}

     

     

Designed by Tistory.