요구사항
- 장바구니 상품: 양파, 사과, 생선, 두부
- 기능1: 상품추가(addProduct)
- 기능2: 장바구니 목록 출력(printCart)
- 기능3: 상품 삭제(removeProduct)
- 기능4: 총 가격 계산(calculateTotalPrice)
Step 1. 기본 틀 만들기
// Product.java
// 각 상품은 이름, 가격 속성을 가짐
public class Product {
String name;
int price;
Product(String name, int price){
this.name = name;
this.price = price;
}
}
// Cart.java
// Cart 객체를 생성하면 ArrayList형 장바구니 하나를 만듦
import java.util.ArrayList;
public class Cart {
ArrayList<Product> productCart;
Cart(){
productCart = new ArrayList<>();
}
}
public class Main {
public static void main(String[] args) {
Cart cart = new Cart(); // 장바구니 생성
}
}
Step 2. 상품추가(addProduct) 기능 구현
// Cart.java
void addProduct(String name, int price){
productCart.add(new Product(name, price));
}
// Main.java
cart.addProduct("양파", 1000);
cart.addProduct("사과", 1000);
cart.addProduct("생선", 1000);
cart.addProduct("두부", 1000);
Step 3. 장바구니 목록 출력(printCart) 기능 구현
// Product.java
String getName(){
return this.name;
}
// Cart.java
void printCart(){
for(int i=0; i< productCart.size(); i++){
System.out.println(productCart.get(i).getName());
}
}
// Main.java
cart.printCart();

Step 4. 상품 삭제(removeProduct) 기능 구현
2-1. 반복문 이용
// Cart.java
void removeProduct(String name){
for(int i=0; i< productCart.size(); i++){
if(productCart.get(i).getName().equals(name)){
productCart.remove(i);
}
}
// Main.java
cart.removeProduct("양파");
cart.printCart();

2-2. 람다 이용
// Cart.java
void removeProduct(String name){
productCart.removeIf(product -> product.getName().equals(name));
}
클래스 내부 최상단에 기본 틀로 작성했던 ArrayList<Product> productCart;
코드를 통해 람다식이 Product 객체로 전달될 수 있다.
Step 5. 총 가격 계산(calculateTotalPrice) 기능 구현
// Product.java
int getPrice(){
return this.price;
}
// Cart.java
void calculateTotalPrice(){
int sum=0;
for(int i=0; i< productCart.size(); i++){
sum += productCart.get(i).getPrice();
}
System.out.println("총 금액은 " + sum);
}
// Main.java
cart.calculateTotalPrice();

'알고리즘 > 문제 풀이' 카테고리의 다른 글
[Java, Python] 배열의 평균값 (0) | 2025.03.06 |
---|---|
[부트캠프][Java] 단어 맞히기 게임 (1) | 2025.02.28 |
[부트캠프][Java] 좌표 출력하기 (0) | 2025.02.24 |
[백준][Java] 백슬래시 출력하기 (0) | 2025.02.22 |
[백준][Java] 큰 값의 정수 3개를 동시에 입력 받아 총합 계산하기 (2) | 2025.02.21 |