Java

switch 문을 이용하여 성적 구하기

에어팟맥스 2022. 6. 10. 00:14

-----------------------------------------------------------------------------

[목표]

  상품
  학점이 "A" 라면 "놀이공원 이용권, 치킨, 피자, 아이스크림"
  학점이 "B" 라면 "놀치킨, 피자, 아이스크림"
  학점이 "C" 라면 "피자, 아이스크림"
  학점이 "D" 라면 "아이스크림"
  학점이 "F" 라면 "꿀밤 3대"
-----------------------------------------------------------------------------

 

메인 클래스

package my.day06.e.Switch;

public class Main_Sungjuk {

	public static void main(String[] args) {
		
		Sungjuk lssSj = new Sungjuk();
		lssSj.hakbun = "091234";
		lssSj.name = "이순신";
		lssSj.kor = 100;
		lssSj.eng = 100;
		lssSj.math = 100;
		
		System.out.println("1. 총점: " + lssSj.total() + "\n"
						 + "2. 평균: " + lssSj.avg() + "\n"
						 + "3. 학점: " + lssSj.grade() + "\n"
						 + "4. 상품: " + lssSj.gift());
		

	}

}

 

메소드를 만들어 주는 클래스

 

1. 필드 형성하기

package my.day06.e.Switch;

public class Sungjuk {
	
	// field
	String hakbun;
	String name;
	int kor;
	int eng;
	int math;

2. 개별 기능을 수행하는 메소드 생성하기

 - 총점을 알려주는 메소드

	// method
	
	// 총점을 알려주는 메소드
	int total() {
		return kor+eng+math;
	}

- 평균을 알려주는 메소드(소수점 첫째 자리까지 보여주고 반올림)

	float avg() {
		return Math.round( total()/3.0F * 10 )/10.0F; // 89.5432   89.9999
						  	      // 89.5      90.0
	}

- 학점을 알려주는 메소드

	// 학점을 알려주는 메소드
	String grade() {
		
		String result = "";
		/*
		  avg() ==> 100.0 ~ 90.0 "A" 
		 */
		
		int avg = (int)avg()/10;
		
		switch ( avg ) { // switch() 괄호 속에는 byte, short, int, char, string 타입만 가능하다. 실수 불가능
		case 10:
		case 9: // avg 가 10 또는 9 이라면 break
			result = "A";
			break;
			
		case 8:
			result = "B";
			break;
			
		case 7:
			result = "C";
			break;
			
		case 6:
			result = "D";
			break;

		default:
			result = "F";
			break;
		} // end of switch(avg)
		
		return result;
	}

 

- 상품을 알려주는 메소드

	String gift() {
		
		String gift = "";
		
		switch ( grade() ) {
		case "A":
			gift += "놀이공원 이용권, ";
			
		case "B":
			gift += "치킨, ";
			
		case "C":
			gift += "피자, ";
			
		case "D":
			gift += "아이스크림";
			break; // break; 를 만나야만 switch case 문을 빠져나간다.
		default:
			gift = "꿀밤 3대";
			break;
		} // end of switch(grade())
		
		
		return gift;
	}

	
	
	
}