본문 바로가기
Java/구현하기(Implementation)

23-06-19) Java 캡슐 판매 기계 구현하기

by NH_club 2023. 6. 19.

●캡슐 판매 기계 구현하기 

캡슐 판매 기계는 다양한 상품을 무작위로 판매합니다.

이 클래스는 ArrayList<String> 형식의 상품 목록을 가지고 있어야 합니다.

아래의 기능을 구현해야 합니다.

상품 추가 addProduct(String product):

상품 이름을 입력하여 새로운 상품을 추가합니다. 같은 이름의 상품이 이미 존재한다면 추가하지 않습니다.
상품 판매 sellProduct():

무작위로 한 가지 상품을 판매(출력)합니다. 만약 판매할 상품이 없다면, "상품이 없습니다."를 출력합니다.
상품 목록 출력 printProducts():

기계에 남아있는 모든 상품의 목록을 출력합니다.

소스코드: https://github.com/NHclub/Implementation/blob/main/src/CapsuleMachineService.java


첫 번째 문제:

상품 목록의 사이즈가 1 초과일 때 판매하는 로직으로 잘못 짬.. 0으로 수정

public void sellProduct() {
    int randomProductIndex = random.nextInt(products.size());
    if (products.size() > 0) {
        System.out.println("판매가 완료 되었습니다. '" + products.get(randomProductIndex) + "'");
        products.remove(randomProductIndex);
    } else{
        System.out.println("상품이 없습니다.");
    }
}

두 번째 문제:

상품 판매 메소드에서 값이 아닌 인덱스를 반환하고 있음. 값을 가져오도록 수정

public void sellProduct() {
    int randomProductIndex = random.nextInt(products.size());
    if (products.size() > 0) {
        System.out.println("판매가 완료 되었습니다. '" + products.get(randomProductIndex) + "'");
        products.remove(randomProductIndex);
    } else{
        System.out.println("상품이 없습니다.");
    }
}

오늘도 구현 완료!