●캡슐 판매 기계 구현하기
캡슐 판매 기계는 다양한 상품을 무작위로 판매합니다.
이 클래스는 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("상품이 없습니다.");
}
}
오늘도 구현 완료!
'Java > 구현하기(Implementation)' 카테고리의 다른 글
23.06.28) Spring 나만의 Blog 구현하기 (0) | 2023.06.28 |
---|---|
23.06.27) Spring 나만의 Blog 구현하기 (0) | 2023.06.27 |
23.06.22) Java 채팅 프로그램 구현하기 (0) | 2023.06.22 |
23.06.21) Java 계좌 관리 프로그램 구현하기 (0) | 2023.06.21 |
23.06.20) Java 계좌 관리 프로그램 구현하기(Bank class 구현) (0) | 2023.06.20 |