새로운 키오스크 과제 두둥등장, lv1,lv2,lv3 키오스크 만들기, 코드 리뷰
package com.example.kiosk;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
boolean flag = true;
while (flag) {
System.out.println("[ "+ "SHAKESHACK MENU"+ " ]");
System.out.println("1. ShackBurger | W 6.9 | 토마토, 양상추, 쉑소스가 토핑된 치즈버거");
System.out.println("2. SmokeShack | W 8.9 | 베이컨, 체리 페퍼에 쉑소스가 토핑된 치즈버거");
System.out.println("3. Cheeseburger | W 6.9 | 포테이토 번과 비프패티, 치즈가 토핑된 치즈버거");
System.out.println("4. Hamburger | W 5.4 | 비프패티를 기반으로 야채가 들어간 기본버거");
System.out.println("0. 종료 | 종료");
int chooseMenu = sc.nextInt();
switch (chooseMenu) {
case 0 -> {
System.out.println("프로그램을 종료합니다");
flag = false;
}
case 1 -> System.out.println("ShackBurger를 선택하셨습니다");
case 2 -> System.out.println("SmokeShack를 선택하셨습니다");
case 3 -> System.out.println("Cheeseburger를 선택하셨습니다");
case 4 -> System.out.println("Hamburger를 선택하셨습니다");
default -> System.out.println("메뉴에 있는 숫자만 써주세요");
}
}
}
}
package com.example.kiosk;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
List<MenuItem> menuItems = new ArrayList<>();
menuItems.add(new MenuItem("ShackBurger ",6.9, "토마토, 양상추, 쉑소스가 토핑된 치즈버거"));
menuItems.add(new MenuItem("SmokeShack ",8.9, " 베이컨, 체리 페퍼에 쉑소스가 토핑된 치즈버거"));
menuItems.add(new MenuItem("Cheeseburger",6.9, "포테이토 번과 비프패티, 치즈가 토핑된 치즈버거"));
menuItems.add(new MenuItem("Hamburger ",5.4, "비프패티를 기반으로 야채가 들어간 기본버거"));
Scanner sc = new Scanner(System.in);
boolean flag = true;
while (flag) {
System.out.println();
System.out.println("[ "+ "SHAKESHACK MENU"+ " ]");
int i = menuItems.size()-1;
for (MenuItem menuItem : menuItems) {
System.out.println(menuItems.size()-i +". " + menuItem.name + " | W " + menuItem.price + " | " + menuItem.explanation);
i--;
}
System.out.println("0. 종료 | 종료");
System.out.print("숫자를 선택해주세요 : ");
int chooseMenu = sc.nextInt();
switch (chooseMenu) {
case 0 -> {
System.out.println("프로그램을 종료합니다");
flag = false;
}
case 1 -> System.out.println("선택한 메뉴 : 1. " + menuItems.get(0).name + " | W " + menuItems.get(0).price + " | " + menuItems.get(0).explanation);
case 2 -> System.out.println("선택한 메뉴 : 2. " + menuItems.get(1).name + " | W " + menuItems.get(1).price + " | " + menuItems.get(1).explanation);
case 3 -> System.out.println("선택한 메뉴 : 3. " + menuItems.get(2).name + " | W " + menuItems.get(2).price + " | " + menuItems.get(2).explanation);
case 4 -> System.out.println("선택한 메뉴 : 4. " + menuItems.get(3).name + " | W " + menuItems.get(3).price + " | " + menuItems.get(3).explanation);
default -> System.out.println("메뉴에 있는 숫자만 써주세요");
}
}
}
}
package com.example.kiosk;
public class MenuItem {
String name;
double price;
String explanation;
MenuItem(String name, double price, String explanation) {
this.name = name;
this.price = price;
this.explanation = explanation;
}
}
package com.example.kiosk;
public class Main {
public static void main(String[] args) {
Kiosk kiosk = new Kiosk();
kiosk.start();
}
}
package com.example.kiosk;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Kiosk {
List<MenuItem> menuItems = new ArrayList<>();
Scanner sc = new Scanner(System.in);
boolean flag = true;
public Kiosk() {
menuItems.add(new MenuItem("ShackBurger ",6.9, "토마토, 양상추, 쉑소스가 토핑된 치즈버거"));
menuItems.add(new MenuItem("SmokeShack ",8.9, " 베이컨, 체리 페퍼에 쉑소스가 토핑된 치즈버거"));
menuItems.add(new MenuItem("Cheeseburger",6.9, "포테이토 번과 비프패티, 치즈가 토핑된 치즈버거"));
menuItems.add(new MenuItem("Hamburger ",5.4, "비프패티를 기반으로 야채가 들어간 기본버거"));
}
public void start() {
while (flag) {
System.out.println();
System.out.println("[ "+ "SHAKESHACK MENU"+ " ]");
int i = menuItems.size()-1;
for (MenuItem menuItem : menuItems) {
System.out.println(menuItems.size()-i +". " + menuItem.name + " | W " + menuItem.price + " | " + menuItem.explanation);
i--;
}
System.out.println("0. 종료 | 종료");
System.out.print("숫자를 선택해주세요 : ");
int chooseMenu = sc.nextInt();
System.out.println();
switch (chooseMenu) {
case 0 -> {
System.out.println("프로그램을 종료합니다");
flag = false;
}
case 1 -> System.out.println("선택한 메뉴 : 1. " + menuItems.get(0).name + " | W " + menuItems.get(0).price + " | " + menuItems.get(0).explanation);
case 2 -> System.out.println("선택한 메뉴 : 2. " + menuItems.get(1).name + " | W " + menuItems.get(1).price + " | " + menuItems.get(1).explanation);
case 3 -> System.out.println("선택한 메뉴 : 3. " + menuItems.get(2).name + " | W " + menuItems.get(2).price + " | " + menuItems.get(2).explanation);
case 4 -> System.out.println("선택한 메뉴 : 4. " + menuItems.get(3).name + " | W " + menuItems.get(3).price + " | " + menuItems.get(3).explanation);
default -> System.out.println("메뉴에 있는 숫자만 써주세요");
}
}
}
}
클래스가 하나 더 있는데 lv2와 다른 게 없어서 lv2의 MenuItem을 그대로 보면 좋을 것 같다.
lv3까지 끝내서 lv3를 리뷰 받았다.
복습하는 개념으로 또 과제를 주셨는데 확실히 한번 해본 것이라 그런지 낮은 레벨은 가속이 엄청 나게 붙었다. 확실히 한 번 코드를 짜보는 것이 여러 번 강의를 듣는 것보다 났다는 것을 알게 됐다. lv4를 하고 있는데 상당히 오래 걸리고 있지만 결실을 맺을 수 있을 것 같다. 물론 요구사항대로 하고 있는 지는 솔직히 모르겠다. ¯ _(ツ)_/¯