프로젝트/키오스크 4

[키오스크 프로젝트] 스트림 사용기

이번 프로젝트에서 사용한 스트림과 람다의 구현 요구사항은 다음과 같다. 기존에 생성한 Menu의 MenuItem을 조회 할 때 스트림을 사용하여 출력하도록 수정기존 장바구니에서 특정 메뉴 빼기 기능을 통한 스트림 활용⌛️첫번째 요구사항에 stream 적용//리스트 안에 있는 MenuItem 하나씩 출력for (int i = 0; i 기존에 구현했던 코드는 다음과 같다. Stream을 사용하기 위해 했던 생각❔ 그냥 리스트에 있는 내용물을 하나씩 보여주면 되니까 menuItems.forEach(System.out::println)를 쓰면 되지 않을까?👉🏼 이게 stream을 사용한 건지도 모르겠다 근데 제일 큰 문제는 인덱스 번호가 같이 출력되어야 하는데 저렇게 하면 앞에 숫자는 출력이 안돼서 쓸 수 ..

[키오스크 프로젝트] 람다, 스트림 활용

구현 요구사항기존 장바구니에서 특정 메뉴 빼기 기능 통한 스트림 활용예시: 장바구니에 SmokeShack가 들어있다면, stream.filter를 활용하여 특정 메뉴 이름을 가진 장바구니에서 제거도전 과제의 마지막 요구사항이었는데 무슨 말인지 이해하는데도 시간이 필요했다(멍충멍충)그냥 단순하게 장바구니에서 특정 이름의 메뉴를 빼는 기능을 stream.filter를 통해 구현하라는 것이었다. 하지만 너무 뜬금없이 냅다 장바구니에서 빼기 싫어서 스토리를 생각해보았다 ㅎ두 종류의 햄버거를 할인 품목으로 넣고 할인 품목은 한 종류만 장바구니에 추가할 수 있도록 하는 것..!구현을 해보자 //Menu 객체 생성하면서 카테고리 이름 설정 Menu burgerCategory = new Men..

[키오스크 프로젝트] 트러블 슈팅 - 기본 생성자 및 리스트 초기화

도전과제 1 요구사항 맞춰서 코드 작성 후 콘솔로 확인해보려는데 실행하자마자 뜨는 오류Execution failed for task ':Main.main()'.> Process 'command 'C:\Users\user\.jdks\corretto-17.0.8.1\bin\java.exe'' finished with non-zero exit value 1* Try:> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.> Get more help at https://help.gradle.org...

[키오스크 프로젝트] 트러블 슈팅 - 상속

도전과제 LV1 주요 구현사항1. 사용자가 선택한 메뉴를 장바구니에 추가할 수 있는 기능 제공(메뉴명, 수량, 가격 정보 저장)2. 장바구니에 아이템을 동적으로 추가하고 조회하는 기능 제공 여기서 나는 장바구니 생성 및 관리 기능을 구현하기 위해 menuItem 클래스를 부모클래스로 데려올 수 있을까 고민을 하게 되었다.왜냐면 menuItem의 foodName, price, details 필드 중 foodName, price 필드 두개가 CartItem의 속성으로 필요했기 때문! 필드들을 각자 정리하면 즉,menuItem: foodName, price, detailscartItem: foodName, price, quantity그래서 장바구니 아이템 클래스 CartItem 클래스에서 menuItem을 상..