-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCart.java
More file actions
50 lines (43 loc) · 1.72 KB
/
Copy pathCart.java
File metadata and controls
50 lines (43 loc) · 1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package week02.advanced;
public class Cart {
Product [] items = new Product[10];
int count = 0;
void addProduct(Product p) { // 카트에 물건 담기
if (count == items.length) {
System.out.println("카트에 물건이 가득 찼습니다.");
return;
}
else {
items[count] = p;
count++;
}
}
void displayCart() { // 카트 목록 + 총 금액 출력
int sum = 0;
System.out.println();
if (count == 0) {
System.out.println("카트가 비어있습니다.");
}
else {
System.out.println("-----쇼핑 목록-----");
for (int i = 0; i < count; i++) {
System.out.println(items[i]);
sum += items[i].getPrice();
}
System.out.println("총 금액: " + sum);
}
}
// 24단계 (심화): 쇼핑몰 상품과 장바구니 시스템
// 문제:
// 1. Product.java: 상품명(name), 가격(price)을 private 멤버와 Getter로 가집니다.
// 2. Cart.java: Product 객체 배열(items, 크기 10)과 현재 담긴 개수(count)를
// 멤버 변수로 가집니다.
// addProduct(Product p) 메서드와, 카트의 모든 상품 정보와 총액을 출력하는 displayCart()
// 메서드를 구현합니다.
// 3. Shopping.java의 main에서 여러 Product 객체를 만들고, while문을 통해 사용자에게
// 상품 번호를 입력받아 Cart 객체에 추가합니다. '0'을 입력하면 displayCart()를
// 호출하고 종료합니다.
// 핵심 사고: 서로 다른 역할을 하는 여러 클래스들이 상호작용하며 하나의 완성된 시스템을
// 구축하는 과정을 경험합니다.
// 힌트: 여러 클래스 설계, 객체 배열 관리, 객체 간 상호작용, while문, switch문, input
}