Lv 1. 장바구니 및 주문하기 기능을 추가하기
노션의 체크 박스를 보면서 풀기 시작했는데 좀 어려워서 그냥 출력 예시를 보면서 스스로 풀기 시작했습니다.
package CommerceProject;
import java.util.ArrayList;
import java.util.List;
public class shoppingBasket {
private List<Product> basket = new ArrayList<>();
public void addShoppingBasket(Product product, int quantity) {
for (int i = 0; i < quantity; i++) {
basket.add(product);
}
}
public void printBasketItems() {
System.out.println("[ 장바구니 내역 ]");
List<Product> printed = new ArrayList<>();
for (Product p : basket) {
boolean ready = false;
for (Product product : printed) {
if (product == p) {
ready = true;
break;
}
}
if (ready) continue;
int count = 0;
for (Product x : basket) {
if (x == p) count++;
}
System.out.printf("%s | %,d원 | %s | 수량: %d개%n",
p.getProductName(), p.getPrice(), p.getDescription(), count);
printed.add(p);
}
}
public int getTotalPrice() {
int total = 0;
List<Product> printed = new ArrayList<>();
for (Product p : basket) {
boolean ready = false;
for (Product product : printed) {
if (product == p) {
ready = true;
break;
}
}
if (ready) continue;
int count = 0;
for (Product x : basket) {
if (x == p) count++;
}
total += p.getPrice() * count;
printed.add(p);
}
return total;
}
}
고작 이 몇 줄 적는데 5시간 정도 걸렸던 것 같습니다.
중간중간 트러블 슈팅도 많았는데 해결해 나가면서 까먹었습니다.
출력이 10배 크게 나와서 하마터면 부자가 될 뻔했지 뭡니까


주석 처리된 부분을 안 적어줘서 이런 해프닝이 있었습니다.
30분인가 1시간 고민한 보람이 있습니다.

커머스 시스템도 손봐야 하는데 이제 결과 값이 정상적으로 나옵니다.