-----------------------------------------------------------------------------
[목표]
상품
학점이 "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;
}
}
'Java' 카테고리의 다른 글
for 를 이용하여 회원가입 시스템 만들어보기 (0) | 2022.06.12 |
---|---|
반복문 - for 문, break, continue (0) | 2022.06.10 |
Switch 문 & 삼항연산자 (0) | 2022.06.10 |
Math 클래스를 이용하여 반올림, 올림, 내림 하기, 절대값 구하기 (0) | 2022.06.09 |
오토박싱, 오토언박싱 (0) | 2022.06.09 |