자바 요약

서지우·2023년 7월 14일
0

JAVA

목록 보기
27/28

App.java

package dev;

import java.util.ArrayList;

// import java.util.ArrayList;
import java.util.List;
// import java.util.Random;
// import java.util.Scanner;

public class App {
    public static void main(String[] args) {
        System.out.println("오늘 뭐 먹지?");

        Menu menu = new MenuImpl();
        Myclass mc = new Myclass();

        ArrayList<String> items = menu.printMenu();
        int age = menu.inputNum();
        menu.enterMenu(age, items);
        // 메뉴 작성
        // String[] items = { "돈가스", "국밥", "칼국수", "김밥" };
        // // 메뉴를 출력
        // // System.out.println("1. " + items[0]);
        // // System.out.println("2. " + items[1]);
        // // System.out.println("3. " + items[2]);
        // // System.out.println("4. " + items[3]);
        // // System.out.println("5. 아무거나");
        // for (int i = 0; i < items.length; i++) {
        //     System.out.println(i+1 + "."+ items[i]);
        // }
        // 사용자에게 입력받고
        // System.out.print("입력하게요 :");
        // Scanner scanner = new Scanner(System.in);
        // int age = scanner.nextInt();
        // // 만약에 1번을 누르면 선택된 메뉴가 출력
        // if (age == 1) {
        //     System.out.println("1. 돈가스를 선택했습니다.");
        //     System.out.println("맛있게 드세요");
        // }
        // // 만약에 2번을 누르면 선택된 메뉴가 출력
        // if (age == 2) {
        //     System.out.println("1. 국밥을 선택했습니다.");
        //     System.out.println("맛있게 드세요");
        // }
        // if (age == 3) {
        //     System.out.println("1. 칼국수를 선택했습니다.");
        //     System.out.println("맛있게 드세요");
        // }
        // if (age == 4) {
        //     System.out.println("1. 김밥을 선택했습니다.");
        //     System.out.println("맛있게 드세요");
        // }
        // // 아무꺼나 선택기능(AI)
        // // 만약에 6번을 누르면 AI가 추천해주는 메뉴가 출력
        // if (age == 5) {
        //     Random random = new Random();
        //     int rNum = random.nextInt(items.length);
        //     System.out.println("엄청난 빅데이터로 분석하고 머신러닝으로 자동추천됩니다.");
        //     System.out.println("추천된 메뉴 " + items[rNum]);
        //     System.out.println("맛있게 드세요");
        // }

        // 아무꺼나 선택 기능

        // 메뉴작성
        // List list = new ArrayList<>();

        // list.add("국밥");
        // list.add("돈가스");
        // list.add("곱창");
        // list.add("삽겹살");
        // list.add("양꼬치");
        // list.add("한우");
        // list.add("회");
        // list.add("오마카세");

        // // 메뉴 출력
        // // System.out.println(list);

        // // Scanner scanner = new Scanner(System.in);

        // for (int i = 0; i < list.size(); i++) {

        // }

    }
}

Menu.java

package dev;

import java.util.ArrayList;

public interface Menu {
    // 작성된 메뉴 출력 기능
    public ArrayList<String> printMenu();
    // 사용자 입력 기능
    public int inputNum();
    // 입력된 값의 따라 메뉴 출력
    public void enterMenu(int age, ArrayList<String> items);
    // 아무거나 AI 추천 메뉴 출력
    public void aiPrintMenu(ArrayList<String> items);
}

MenuImpl.java

package dev;

import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;

public class MenuImpl implements Menu {

    @Override
    public ArrayList<String> printMenu() {
        // 메뉴 작성
        // String[] items = { "돈가스", "국밥", "칼국수", "김밥" };
        ArrayList<String> items = new ArrayList<>();
        items.add("돈가스");
        items.add("국밥");
        items.add("칼국수");
        items.add("김밥");
        items.add("치킨");
        // 메뉴를 출력
        // System.out.println("1. " + items[0]);
        // System.out.println("2. " + items[1]);
        // System.out.println("3. " + items[2]);
        // System.out.println("4. " + items[3]);
        // System.out.println("5. 아무거나");
        for (int i = 0; i < items.size(); i++) {
            System.out.println(i + 1 + "." + items.get(i));
        }
        System.out.println("5. 아무거나");
        return items;
    }

    @Override
    public int inputNum() {
        int age = 0;
        while (true) {
            try {
                System.out.print("입력하세요 :");
                Scanner scanner = new Scanner(System.in);
                age = scanner.nextInt();
                // 만약에 입력값이 1~6까지가 아니면 오류
                if (!(age > 0 && age < 7)) {
                   throw new Exception(); 
                }
                break;
            } catch (Exception e) {
                System.out.println("숫자만");
            }
        }
        return age;
    }

    @Override
    public void enterMenu(int age, ArrayList<String> items) {
        // 만약에 1번을 누르면 선택된 메뉴가 출력
        if (age == 1) {
            System.out.println("1. " + items.get(0) + "를 선택했습니다.");
            System.out.println("맛있게 드세요");
        }
        if (age == 6) {
            aiPrintMenu(items);
        }
    }

    @Override
    public void aiPrintMenu(ArrayList<String> items) {
        Random random = new Random();
        int rNum = random.nextInt(items.size());
        System.out.println("엄청난 빅데이터로 분석하고 머신러닝으로 자동추천됩니다.");
        System.out.println("추천된 메뉴 " + items.get(rNum));
        System.out.println("맛있게 드세요");

    }

}


요렇게 쉽게 만들고 정리하면 된다!!

profile
미래가 기대되는 풀스택개발자 공부 이야기~~

0개의 댓글