• Repetitive(반복문) 2

    2021. 5. 2.

    by. 와트

    ※문제. stop이라는 문자열을 입력하기 전까지 무한 반복하며 문자열을 입력 받고 문자열을 합친 결과를 출력하시오.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public void method6() {
            Scanner sc = new Scanner(System.in);
            String result = " ";
            while(true) {
                System.out.print("문자열 입력: ");
                String str = sc.nextLine();
                if(str.equals("stop")){
                    System.out.println("결과 : " + result);
                    break;
                    }
                result += str + " ";
                System.out.println("결과 : " + result);
                }
        }
    cs

    Scanner를 통해 문자열 str을 입력 받고 해당 str이 'stop'일 때까지 무한 반복하며 문자열을 합치는 문제.

    결괏값 result를 += str + " ";로 해 놓으면 str이 stop이 아닐 경우 무한 반복하며 기존 result에 다음 result값을 더하게 된다.

    stop이 입력 되어 if문을 빠져나오면 그간 입력 받은 result값을 배출.

     

    ※문제. 아래와 같은 주문 프로그램을 작성하고 종료 시 주문 내역을 출력하시오. (잘못된 메뉴 선택 시 "잘못 선택하셨습니다. 다시 선택해주세요."를 출려가고 메뉴 화면 반복 실행. y 입력 시 메뉴 화면 반복 실행. n 입력 시 메뉴 화면 종료 되며 화면에 주문한 정보와 가격 출력.)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    public void method7() {
        
            Scanner sc = new Scanner(System.in);
            
            int ameri = 0;
            int latte= 0;
            int vanilla = 0;
            
            while(true) {
                System.out.println("======== 메뉴 ========");
                System.out.println("1. 아메리카노     3500원");
                System.out.println("2. 카페라떼      4100원");
                System.out.println("3. 바닐라라떼     4300원");
                System.out.println("=====================");
                System.out.print("메뉴 선택 : ");
                int menu = sc.nextInt();
                System.out.print("수량 선택 : ");
                int amount = sc.nextInt();
                
                switch(menu) {
                case 1:
                    ameri += amount;
                    break;
                case 2:
                    latte += amount;
                    break;
                case 3:
                    vanilla += amount;
                    break;
                default:
                    System.out.println("잘못 선택하셨습니다. 다시 선택해주세요.");
                    continue;
                }
                
                System.out.print("추가 주문하시겠습니까?(y/n) : ");
                char select = sc.next().charAt(0);
                
                if(select == 'N' || select =='n') {
                    System.out.println("===============");
                
                    if(ameri != 0) { 
                        System.out.println("아메리카노 " + ameri + "잔 : " + 2500*ameri + "원");}
                    if(latte != 0) { 
                        System.out.println("카페라떼 " + latte + "잔 : " + 4100*latte + "원");}
                    if(vanilla != 0) { 
                        System.out.println("바닐라라떼 " + vanilla + "잔 : " + 4300*vanilla + "원");}
                    System.out.println("===============");
                    System.out.println("총액 : " + (3500*ameri + 4100*latte + 4300*vanilla) + "원");
                    break;
                    }
                }
            }
    cs

    답을 보면 쉬워 보이는데 왜 막상 문제를 보면 구현을 못하는지 의기소침한 오늘...

    계속 반복하면 나아질 거란 희망을 갖고 도전해보겠다.

    '혼자 있는 방 > Java' 카테고리의 다른 글

    DemensionArray(2차원 배열)  (1) 2021.05.04
    Array(배열)  (0) 2021.05.04
    Repetitive(반복문) 1  (0) 2021.04.30
    Conditional(조건문)  (0) 2021.04.30
    Operator(연산자)  (0) 2021.04.28

    댓글

Designed by Nana