[Java] 중간고사: 문제 해결 능력 기르기_코드잇 소개 프로그램

2022. 1. 7. 15:20·TIL/Java
728x90
반응형

코드잇 소개 프로그램

키보드 입력으로 탐색할 수 있는 코드잇 소개 프로그램을 만듭니다.

 

메인 메뉴 (Main Menu)

아래와 같은 메뉴가 출력됩니다.

 

(I)ntro (C)ourses (E)xit

 

"I", "i", "C", "c", "E", "e"를 입력하면 해당되는 메뉴로 이동합니다.

 

(E)xit

"E" 또는 "e"를 입력하면, 아래의 메시지를 출력하고 프로그램을 끝냅니다.

 

콘솔 예시

 

(I)ntro (C)ourses (E)xit
E
안녕히 가세요.

 

(I)ntro

"I" 또는 "i"를 입력하면, 아래의 메시지를 출력하고 MainMenu로 돌아갑니다.

 

안녕하세요! 우리는 코드잇입니다.
함께 공부합시다!

 

콘솔 예시

 

(I)ntro (C)ourses (E)xit
I
안녕하세요! 우리는 코드잇입니다.
함께 공부합시다!
(I)ntro (C)ourses (E)xit

 

(C)ourses

"C" 또는 "c"를 입력하면, 수업 소개 메뉴로 넘어갑니다. 수업 소개 메뉴는 일단 아래의 메뉴를 출력합니다:

 

코드잇 수업을 소개합니다.
(P)ython (J)ava (i)OS (B)ack

 

여기서:

(1) "P" 또는 "p"를 입력하면, 아래의 소개를 하고 수업 소개 메뉴로 돌아갑니다.

 

Python 언어를 통해 컴퓨터 사이언스의 기초를 배웁니다.
강사: 강영훈
추천 선수과목: 없음

 

(2) "J" 또는 "j"를 입력하면, 아래의 소개를 하고 수업 소개 메뉴로 돌아갑니다.

 

Java의 기본 문법과 객체지향적 프로그래밍을 배웁니다.
강사: 김신의
추천 선수과목: Python

 

(3) "i" 또는 "I"를 입력하면, 아래의 소개를 하고 수업 소개 메뉴로 돌아갑니다.

 

최신 Swift 언어를 통해 iOS 개발을 시작할 수 있습니다.
강사: 성태호
추천 선수과목: Python, Java

 

(4) "B" 또는 "b"를 입력하면 메인 메뉴로 돌아갑니다.

콘솔 예시

 

(I)ntro (C)ourses (E)xit
c
코드잇 수업을 소개합니다.
(P)ython (J)ava (i)OS (B)ack
j
Java의 기본 문법과 객체지향적 프로그래밍을 배웁니다.
강사: 김신의
추천 선수과목: Python
코드잇 수업을 소개합니다.
(P)ython (J)ava (i)OS (B)ack
i
최신 Swift 언어를 통해 iOS 개발을 시작할 수 있습니다.
강사: 성태호
추천 선수과목: Python, Java
코드잇 수업을 소개합니다.
(P)ython (J)ava (i)OS (B)ack
B
(I)ntro (C)ourses (E)xit
e
안녕히 가세요.

 

 

해설 코드

 

import java.util.Scanner;

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

        boolean inMainMenu = true;
        while(inMainMenu) {
            System.out.println("(I)ntro (C)ourses (E)xit");

            switch(scanner.next()) {
                case "I":
                case "i":
                    System.out.println("안녕하세요! 우리는 코드잇입니다. \n" + "함께 공부합시다!");
                    break;

                case "C":
                case "c":
                    boolean inCourseMenu = true;
                    while(inCourseMenu) {
                        System.out.println("코드잇 수업을 소개합니다.\n" + "(P)ython (J)ava (i)OS (B)ack");
                        switch(scanner.next()) {
                            case "P":
                            case "p":
                                System.out.println("Python 언어를 통해 컴퓨터 사이언스의 기초를 배웁니다.");
                                System.out.println("강사: 강영훈");
                                System.out.println("추천 선수과목: 없음");
                                break;

                            case "J":
                            case "j":
                                System.out.println("Java의 기본 문법과 객체지향적 프로그래밍을 배웁니다.");
                                System.out.println("강사: 김신의");
                                System.out.println("추천 선수과목: Python");
                                break;

                            case "I":
                            case "i":
                                System.out.println("최신 Swift 언어를 통해 iOS 개발을 시작할 수 있습니다.");
                                System.out.println("강사: 성태호");
                                System.out.println("추천 선수과목: Python, Java");
                                break;

                            case "B":
                            case "b":
                                inCourseMenu = false;
                                break;
                            default:
                                System.out.println("다시 입력해 주세요.");
                                break;
                        }
                    }
                    break;
                case "E":
                case "e":
                    System.out.println("안녕히 가세요.");
                    // 반복문을 종료하기 위해 inMainMenu를 false로 변경
                    inMainMenu = false;
                    break;
                default:
                    System.out.println("다시 입력해 주세요.");
                    break;
            }
        }
    }
}

 

본인 작성 코드

 

import java.util.Scanner;

public class Sanner {
    public static void main(String[] args) {
        System.out.println("(I)ntro (C)ourses (E)xit");
        String menu;
        Scanner scanner = new Scanner(System.in);
        menu = scanner.next();
        while(!menu.equals("E") && !menu.equals("e")) {
            switch (menu) {
                case "E":
                case "e":
                    System.out.println("안녕히 가세요.");
                    break;
                case "I":
                case "i":
                    System.out.println("안녕하세요! 우리는 코드잇입니다.\n" + "함께 공부합시다!");
                    break;
                case "C":
                case "c":
                    System.out.println("코드잇 수업을 소개합니다.\n" + "(P)ython (J)ava (i)OS (B)ack");
                    do {
                        menu = scanner.next();
                        switch (menu) {
                            case "P":
                            case "p":
                                System.out.println("Python 언어를 통해 컴퓨터 사이언스의 기초를 배웁니다.\n" + "강사: 강영훈\n" + "추천 선수과목: 없음\n" + "(P)ython (J)ava (i)OS (B)ack");
                                break;

                            case "J":
                            case "j":
                                System.out.println("Java의 기본 문법과 객체지향적 프로그래밍을 배웁니다.\n" + "강사: 김신의\n" + "추천 선수과목: Python\n" + "(P)ython (J)ava (i)OS (B)ack");
                                break;

                            case "I":
                            case "i":
                                System.out.println("최신 Swift 언어를 통해 iOS 개발을 시작할 수 있습니다.\n" + "강사: 성태호\n" + "추천 선수과목: Python, Java\n" + "(P)ython (J)ava (i)OS (B)ack");
                                break;

                            case "B":
                            case "b":
                                break;
                        }
                    }while(!menu.equals("B") && !menu.equals("b"));
                    break;
                default:
                    System.out.println("(I)ntro (C)ourses (E)xit");
                    continue;
            }
            System.out.println("(I)ntro (C)ourses (E)xit");
            menu = scanner.next();
        }
        System.out.println("안녕히가세요.");
    }
}

 

728x90
반응형

'TIL > Java' 카테고리의 다른 글

[Java] null  (0) 2022.01.07
[Java] 기본형 vs 참조형  (0) 2022.01.07
[Java] 콘솔 입력 받기(Scanner)  (0) 2022.01.07
[Java] 중간고사: 문제 해결 능력 기르기_플로이드의 삼각형  (0) 2022.01.06
[Java] 중간고사: 문제 해결 능력 기르기_피라미드 그리기  (0) 2022.01.05
'TIL/Java' 카테고리의 다른 글
  • [Java] null
  • [Java] 기본형 vs 참조형
  • [Java] 콘솔 입력 받기(Scanner)
  • [Java] 중간고사: 문제 해결 능력 기르기_플로이드의 삼각형
야리니
야리니
오늘보다 내일 더 성장하는 개발자가 되기 위한 야리니 블로그입니다 :)
    반응형
    250x250
  • 야리니
    야리니의 step by step
    야리니
  • 링크

    • GitHub
    • Linkedin
  • 전체
    오늘
    어제
    • 분류 전체보기 (478) N
      • TIL (379)
        • Java (97)
        • Kotlin (28)
        • JPA (16)
        • Spring (37)
        • Oracle (22)
        • JDBC (7)
        • Web(HTML, CSS, JS, jQuery) (90)
        • View Template (31)
        • AWS (7)
        • HTTP (7)
        • CS (5)
        • Linux, Unix (2)
        • Python (20)
      • Trouble Shooting(Error) (37)
      • Algorithm (15)
      • Git,GitHub (8)
      • Diary (24) N
      • 독서 (9)
      • Etc (6)
        • Mac (1)
        • 학원준비과정 (2)
  • 블로그 메뉴

    • 방명록
    • 태그
  • 공지사항

    • 안녕하세요 :)
  • 인기 글

  • 태그

    쌍용교육센터
    java
    코틀린
    oracle
    HTML
    백엔드 개발자
    Kotlin
    java기초
    국비지원학원
    CSS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
야리니
[Java] 중간고사: 문제 해결 능력 기르기_코드잇 소개 프로그램
상단으로

티스토리툴바