첫 개인 프로젝트

김비오·2023년 6월 10일
0
post-thumbnail

💡 랜덤 점심 메뉴 추천



💡현대인들이라면 누구나 맨날 하는 고민이 있는데,
그것은 바로 점심메뉴를 고르기이다.
그래서 고민할 필요 없이 선호하는 음식들 중 여러가지를 설정해 놓고,
그 중에 하나가 랜덤으로 나오게끔 구현했다.



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


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

Scanner sc = new Scanner(System.in);  
Random rd = new Random();

ArrayList<String> menu = new ArrayList<String>();
ArrayList<String> addMenu = new ArrayList<String>();


menu.add("저렴하고 무난하게 먹기 좋은 \"김밥+라면\"");  
menu.add("다른 거 먹을 바에는 든든하고 뜨끈한 \"국밥\"");
menu.add("남자들의 소울푸드 \"돈까스\"");
menu.add("가성비 깡패고 배부르게 먹을 수 있는 \"한식 뷔페\"");
menu.add("밥알이 320개인 \"스시\"");
menu.add("사실 탄단지가 다 들어있는 \"햄버거\"");
menu.add("다이어트 시작! \"샐러드\"");
menu.add("여자친구가 생긴다면 같이 먹고 싶은 \"파스타\"");
 

	int choice = rd.nextInt(3);				  
    int random = rd.nextInt(8); // 메뉴수
    int count = 0;		
	String myMenu = "";

	
	// 초기 화면
	while (true) {
		System.out.println("랜덤 메뉴 추천으로는 \n" +"------------------------------------\n" 
				+ menu.get(random)+" 입니다!" + "\n------------------------------------");  // 시작시 출력
		while (true) {
			System.out.print("[선택 완료]	  (1)\n[다시 추천 받기] 	  (2)[기회 3번]\n[다른 메뉴 추가]	  (3)\n" + "입력 : ");
			
			choice = sc.nextInt();
			sc.nextLine();
			
			
		// 1번을 선택 했을 때
		if (choice == 1) {  
			System.out.println("------------------------------------");
			System.out.println("오늘의 메뉴는 : \n " + menu.get(random) + " 입니다.");
			System.out.println("------------------------------------");
			return;
			} 
		
		// 2번을 선택 했을 때
			else if (choice == 2) {
			if (random == 8) { // 메뉴 수 
				random = 0;
			} else { 
				random = (random % 8)+ 1; //+1은 0이 아닌 1부터 해주기 위해
			}
			count = (count % 3) + 1; // 2번에 카운트 걸어주기
		// 2번을 3회 이상 선택하면 아래 문구 출력
			if (count >= 3) { 
				System.out.println("------------------------------------\n" + "그냥 굶으시는 건 어떨까요!\n"
						+ "이러면 추천이 의미 없습니다!\n" + "제가 다시 랜덤으로 추천드렸습니다 원하시면 (1)번을 눌러주세요\n"
						+ "------------------------------------");
				continue; 
			}
			System.out.println("------------------------------------");
			System.out.print("다른 추천 메뉴는 : ");
            if (random >= 8) // 메뉴 수
				random = 0;

			System.out.println(menu.get(random) + "입니다.\n");
			System.out.println("------------------------------------");
			continue; 
			} 
		// 3번을 선택 했을 때
			else if (choice == 3) { 
			System.out.print("원하는 메뉴를 입력해주세요 :");
			myMenu = sc.nextLine();

			if (myMenu.equals("저렴하고 무난하게 먹기 좋은 \\\"김밥+라면\\\"")) { 
				System.out.println("------------------------------------");
				System.out.println("오늘 메뉴는 : 저렴하고 무난하게 먹기 좋은 \"김밥+라면\"");
				System.out.println("------------------------------------");
				System.exit(0);
			} else if (myMenu.equals("다른 거 먹을 바에는 든든하고 뜨끈한 \\\"국밥\\\"")) {
				System.out.println("------------------------------------");
				System.out.println("오늘 메뉴는 : 다른 거 먹을 바에는 든든하고 뜨끈한 \"국밥\"");
				System.out.println("------------------------------------");
				System.exit(0);
			} else if (myMenu.equals("남자들의 소울푸드 \\\"돈까스\\\"")) { 
				System.out.println("------------------------------------");
				System.out.println("오늘 메뉴는 : 남자들의 소울푸드 \"돈까스\"");
				System.out.println("------------------------------------");
				System.exit(0);
			} 
			else if (myMenu.equals("가성비 깡패고 배부르게 먹을 수 있는 \\\"한식 뷔페\\\"")) {
				System.out.println("------------------------------------");
				System.out.println("오늘 메뉴는 : 가성비 깡패고 배부르게 먹을 수 있는 \"한식 뷔페\"");
				System.out.println("------------------------------------");
				System.exit(0);
			}else if (myMenu.equals("밥알이 320개인 \"스시\"")) {
				System.out.println("------------------------------------");
				System.out.println("오늘 메뉴는 : 밥알이 320개인 \"스시\"");
				System.out.println("------------------------------------");
				System.exit(0);
			}else if (myMenu.equals("사실 탄단지가 다 들어있는 \\\"햄버거\\\"")) {
				System.out.println("------------------------------------");
				System.out.println("오늘 메뉴는 : 사실 탄단지가 다 들어있는 \\\"햄버거\\\"");
				System.out.println("------------------------------------");
				System.exit(0);
			}else if (myMenu.equals("다이어트 시작! \\\"샐러드\\\"")) {
				System.out.println("------------------------------------");
				System.out.println("오늘 메뉴는 : 다이어트 시작! \\\"샐러드\\\"");
				System.out.println("------------------------------------");
				System.exit(0);
			}else if (myMenu.equals("여자친구가 생긴다면 같이 먹고 싶은 \\\"파스타\\\"")) {
				System.out.println("------------------------------------");
				System.out.println("오늘 메뉴는 : 여자친구가 생긴다면 같이 먹고 싶은 \\\"파스타\\\"");
				System.out.println("------------------------------------");
				System.exit(0);
			}
			// 원하는 메뉴를 입력시 출력 문구
			else {
				System.out.println("------------------------------------\n" + myMenu +
									" ==> 곧 메뉴에 추가 하겠습니다\n" + "------------------------------------\n"
						+ "다시 추천 드리는 것은\n" + menu.get(random)+ 
						"\n" + "------------------------------------"); 
				addMenu.add(myMenu);
				continue;
			}

		}
		// 결정시 출력 문구
		System.out.println("오늘의 메뉴는  " + menu.get(random) + " 입니다.\n"); 
		break;
			}
		}
	}
}

처음 실행을 시키면
설정해 놓은 메뉴 중에 하나가 랜덤하게 하나 뜬다.


초기 화면에서 2번을 누르면 처음과는 다른 메뉴가 뜨는데, 여기서 [다시 추천 받기]는 3번까지만 할 수 있다.

(3번 다 눌렀을 때의 출력)

여기서 1번을 누르면 다른 화면으로 넘어가지 않고 그대로 break가 걸리게 된다.

📝 자바 첫 번째 토이프로젝트 하면서..

수업 중에 제일 흥미롭고 재밌게 배웠던 random 함수로 프로젝트를 하게되었다.
프로젝트를 하면서 검색도 여러가지를 하면서 더 다양한 기능들을 알게되었고,
코드들이 셀 수 없을 정도로 많은 것에 놀랐다.

처음엔 무슨 코드를 넣어도 다 오류 투성이었는데 구글링과 시행착오를 겪다보니
오류가 하나 둘씩 줄어 들어드는 게 보여서 더 재미와 성취감을 느꼈다.

약 5달 전에 코드보니 지금은 내가 조금은 성장했다는 것을 느끼고 있다.
처음 진행한 프로젝트여서 많이 부족하지만 공부를 더 열심히 해서 정말 사람들도 쓸 수 있게 만들어보고 싶다.

profile
멋쟁이

0개의 댓글