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