본문 바로가기

알고리즘/기타퀴즈

Quiz07, Quiz08, Quiz09 (switch문)

반응형

안녕하세요. pitang입니다.

switch 문에 관련된 문제 3개를 살펴보겠습니다.

 

Quiz07

1. 메뉴를 보여준 후, Scanner로 해당 메뉴를 입력받으세요.

2. 없는 메뉴라면 "~은 메뉴에 없습니다."를 출력하세요.

3. switch 구문을 이용하고 배열처럼 보이지만 문자열입니다.

<console>
구입할 메뉴는?
[수박, 사과, 멜론, 포도, 귤]
> 수박
수박의 가격은 1만원입니다.

 

⬇️⬇️⬇️ 정답은 더보기를 눌러주세요 ⬇️⬇️⬇️

 

더보기
public class Quiz07 {
	
    public static void main(String[] args) {
    
    	Scanner scan = new Scanner(System.in);
        
        System.out.println("구입할 메뉴는?");
        System.out.println("[수박, 사과, 멜론, 포도, 귤]");
        System.out.print("> ");
        String menu = scan.next();
        
        switch(menu) {
        	case "수박":
            	System.out.println("수박의 가격은 1만원입니다.");
                break;
            case "사과":
            	System.out.println("수박의 가격은 9천원입니다.");
                break;
            case "멜론":
            	System.out.println("수박의 가격은 8천원입니다.");
                break;
            case "포도":
            	System.out.println("수박의 가격은 7천원원입니다.");
                break;
            case "귤":
            	System.out.println("수박의 가격은 6천원입니다.");
                break;
            default :
            	System.out.println(menu + "은(는) 메뉴에 없습니다.");
            	break;
        }  
      	scan.close();
    }
}

3번에 나온 것처럼 배열이 아닌 그냥 문자열일 뿐이다. 

next는 공백 없는 문자열을 입력받을 수 있다. 

 

Quiz08

1. [안녕하세요, hi, 니취팔로마, #$%^]의 배열을 만드세요.

2. Math.random()을 이용해서 0 ~ 3까지 랜덤수를 발생시키세요.

3. 해당 인덱스를 배열에 적용해 선택된 값이 한국어, 영어, 중국어, 외계어인지 구별하면 됩니다.

<console>
선택된 단어 : hi
hi
영어입니다.

 

⬇️⬇️⬇️ 정답은 더보기를 눌러주세요 ⬇️⬇️⬇️

 

더보기
public class Quiz08 {

	public static void main(String[] args) {
    
    	String[] arr = {"안녕하세요", "hi", "니취팔로마", "#$%^"};
        int index = (int)(Math.random() * arr.length);
        System.out.println("선택된 단어 : " + arr[index]);
        
        switch (index) {
            case 0 :
            	System.out.println(arr[0] + "은 한국어입니다.");
            	break;
            case 1 :
           		System.out.println(arr[1] + "은 영어입니다.");
            	break;
            case 2 :
            	System.out.println(arr[2] + "은 중국어입니다.");
            	break;
            case 3 :
            	System.out.println(arr[3] + "은 외계어입니다.");
            	break;    
            default :
            	System.out.println("없는 단어입니다.");
            	break;
        }   
    }
}

Math.random() 은 0부터 1 미만의 범위로 숫자를 랜덤하게 출력한다.

그러므로 arr.length를 곱하게 되면 배열의 길이까지 0부터 4 미만의 범위로 숫자를 랜덤하게 출력해준다.

 

Quiz09

1. 간단한 사칙연산이 되는 간략한 프로그램을 만드세요.

<console>
정수 1 > 5
연산을 선택하세요. [+, -, *, /] > +
정수 2 > 2
두 수의 덧셈은 : 7

 

⬇️⬇️⬇️ 정답은 더보기를 눌러주세요 ⬇️⬇️⬇️

 

더보기
public class Quiz09{
	
    public static void main(String[] args) {
    
    	Scanner scan = new Scanner(System.in);
        
        System.out.print("정수1> ");
        int num1 = scan.nextInt();
        System.out.print("연산을 선택하세요. [+, -, *, /]");
        String math = scan.next();
        System.out.print("정수2> ");
        int num2 = scan.nextInt();
        
        switch (math) {
        	case "+":
            	System.out.println("두 수의 덧셈은 " + (num1+num2));
            	break;
            case "-":
            	System.out.println("두 수의 뺄셈은 " + (num1-num2));
            	break;
            case "*":
            	System.out.println("두 수의 곱셈은 " + (num1*num2));
            	break;
            case "/":
            	System.out.println("두 수의 나눗셈은 " + (num1/num2));
            	break;
            default:
           		System.out.println("잘못 입력하셨습니다.");
                break;
        }
        scan.close();
    }
}

문자열로 변수를 선언하고 문자 그대로를 case로 나눌 수 있다.

 

 

감사합니다.

 

*m1맥북을 사용 중입니다.*

728x90
반응형

'알고리즘 > 기타퀴즈' 카테고리의 다른 글

Quiz12, Quiz13 (while문, for문)  (0) 2021.08.25
Quiz10, Quiz11 (while문)  (0) 2021.08.24
Quiz05, Quiz06 (if-else if문)  (0) 2021.08.22
Quiz03, Quiz04 (If문)  (0) 2021.08.22
Quiz01, Quiz02  (0) 2021.08.22