본문 바로가기

ETC/복습

[복습_JAVA] 08

● switch문

switch(변수명) {

case 값1:

    실행할 문장;

    break;

case 값2:

    실행할 문장;

    break;

case 값3:

    실행할 문장;

    break;

case 값4:

    실행할 문장;

    break;

    ...

default:

    실행할 문장;

    break;

}

 

 실행할 문장이 중복된다면 case를 한 줄에 작성할 수 있다.

switch(변수명) {

case 값1: case 값2:

    실행할 문장;

    break;

}

 

 


 

실습(switch문)

1. 아래 내용을 참고하여 심리 테스트 프로그램 작성하기

※ 참고

/* 
 * Q. 당신이 좋아하는 색을 선택하세요.
 * 1. 빨간색
 * 2. 노란색
 * 3. 검은색
 * 4. 흰색
 * 
 * 빨간색 : 불같고 열정적이고 적극적이다.
 * 노란색 : 발랄하고 밝고 귀엽고 개성있고 유하다.
 * 검은색 : 묵묵하고 든든하고 냉철하고 멋지다. 그리고 강하다.
 * 흰색 : 천사같고 깔끔하고 정리를 좋아하고 배려심이 많다.
 */

 

 

- 코드

import java.util.Scanner; 

public class SwitchTest {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		String qMsg = "Q. 당신이 좋아하는 색을 선택하세요.\n"
							+ "1. 빨간색\n"
							+ "2. 노란색\n"
							+ "3. 검은색\n"
							+ "4. 흰색\n";
		
		String redMsg = "불같고 열정적이고 적극적이다.";
		String yellowMsg = "발랄하고 밝고 귀엽고 개성있고 유하다.";
		String blackMsg = "묵묵하고 든든하고 냉철하고 멋지다. 그리고 강하다.";
		String whiteMsg = "천사같고 깔끔하고 정리를 좋아하고 배려심이 많다.";
		String errMsg = "다시 시도해주세요";

		int choice = 0;  // 사용자가 입력한 값을 담는 변수를 0으로 초기화하여 선언한다.
		String result = "";
		
		System.out.print(qMsg);
		choice = sc.nextInt();  // 사용자에게 값을 입력받아 choice 변수에 담아준다.
		
		switch(choice) {
		case 1:  // choice 변수의 값이 1일 때
			result = redMsg;  // result 변수에 redMsg 값을 담아준다.
			break;  // 즉시 switch문을 종료한다.
		case 2:
			result = yellowMsg;
			break;
		case 3:
			result = blackMsg;
			break;
		case 4:
			result = whiteMsg;
			break;
		default:
			result = errMsg;
			break;
		}
		System.out.println(result);
	}
}

 

1 입력 시 결과

 

 

 

 

실습(CodeUp)​​

문제 설명

평가를 문자(A, B, C, D, ...)로 입력받아 내용을 다르게 출력해보자.
평가 내용
평가 : 내용
A : best!!!
B : good!!
C : run!
D : slowly~
나머지 문자들 : what?

입력

영문자 1개가 입력된다.
(A, B, C, D 등의 한 문자가 입력된다.)

출력

평가내용에 따라 다른 내용이 출력된다.

내 풀이

import java.util.Scanner;
 
public class Main{
    public static void main(String args[]){

        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        
        switch(a) {
            case "A": 
                System.out.println("best!!!");
                break;
            case "B": 
                System.out.println("good!!");
                break;
            case "C": 
                System.out.println("run!");
                break;
            case "D": 
                System.out.println("slowly~");
                break;   
            default : 
                System.out.println("what?"); 
        }    

    }
}

 

 

문제 설명

월이 입력될 때 계절 이름이 출력되도록 해보자.

입력

월을 의미하는 1개의 정수가 입력된다.(1 ~ 12)

출력

계절 이름을 출력한다.

내 풀이

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		
		switch(a) {
		case 1 :
		case 2 :
		    System.out.println("winter");
		    break;
		case 3 :
		case 4 :
		case 5 :
		    System.out.println("spring");
		    break;
		case 6 :
		case 7 :
		case 8 :
		    System.out.println("summer");
		    break;
		case 9 :
		case 10 :
		case 11 :
		    System.out.println("fall");
	 	    break;
		case 12 :
		    System.out.println("winter");
		}
	}
}​

 

 

 

'ETC > 복습' 카테고리의 다른 글

[복습_JAVA] 10  (0) 2022.08.15
[복습_JAVA] 09  (0) 2022.08.14
[복습_JAVA] 07  (0) 2022.08.12
[복습_JAVA] 06  (0) 2022.08.10
[복습_JAVA] 05  (0) 2022.08.08