h-i-s-t-o-r-y

[Java] switch() 예제 본문

Java

[Java] switch() 예제

H' 2021. 7. 16. 10:13

▷ 분기문 - switch문

switch (key) {      // key 값: 정수, 문자열, 수식, 변수
    case value :    // value 값: 변수X, [리터럴] 만 사용가능
        break;
    default:         // default: 모든 case 외의 경우 수행할 코드
        break;
}

 

> 월을 입력받아서 봄/여름/가을/겨울 출력하기

int month;

System.out.print("> 월을 입력하세요 ? ");
Scanner scanner = new Scanner(System.in);
month = scanner.nextInt();
String season;

// switch문
// month	month/3
// 3,4,5월 -> 1
// 6,7,8월 -> 2
// 9,10,11월 -> 3
// 12,1,2월 -> 4,0
switch (month/3) {
case 1: season="봄"; break;
case 2: season="여름"; break;
case 3: season="가을"; break;
default: season="겨울"; break;
}

System.out.printf("%d월은 %s입니다.", month, season);

 

> *** 배열의 인덱스를 이용하면 더 간단하다 ***

// 계절 배열 선언	0	1	2	3	4
String [] season = {"겨울", "봄", "여름", "가을", "겨울"};
System.out.println(season[month/3]);
System.out.printf("%d월은 %s입니다.", month, season[month/3]);

> 가위바위보 게임

// 1가위 2바위 3보
int user, com;
String [] game = {"", "가위", "바위", "보"};

System.out.print("1.가위 2.바위 3.보 번호 입력 ? ");
Scanner scanner = new Scanner(System.in);
user = scanner.nextInt();
com = (int) (Math.random()*3)+1;

int n = user - com;
String result = "tie";

switch (n) {
case 1: case -2: result = "win"; break;
case 2: case -1: result = "lose"; break;
}

System.out.printf("user(%s), com(%s) - %s",
	game[user], game[com], result);

 

 

Comments