복습 - 창고 관리
Coddy Java 여정의 논리와 흐름 섹션에 포함된 레슨 — 59개 중 20번째.
챌린지
쉬움<strong>manageWarehouse</strong>라는 이름을 가진 메서드를 생성하세요. 이 메서드는 두 개의 인수를 받습니다:
- warehouse라는 이름의
<strong>warehouse</strong>HashMap으로, 다음을 포함합니다:- 키는 제품 이름을 나타냅니다 (
String). - 값은 수량을 나타냅니다 (
Integer).
- 키는 제품 이름을 나타냅니다 (
- 작업 목록(
<strong>String[] operations</strong>)으로, 각 문자열은 다음 형식 중 하나를 따릅니다:"ADD product quantity"→ 주어진 수량을 기존 제품에 추가합니다 (존재하지 않으면 생성)."REMOVE product quantity"→ 제품의 수량을 감소시킵니다. 수량이 0 또는 음수가 되면 제품을 제거합니다."CHECK product"→ 제품이 존재하면true를 출력하고, 그렇지 않으면false를 출력합니다."PRINT"→ 모든 제품과 그 수량을 다음 형식으로 출력합니다:Product: Laptop, Quantity: 10 Product: Mouse, Quantity: 50
String을 Integer로 변환하려면 다음을 사용합니다:
String quantityString = "25";
int quantity = Integer.valueOf(quantityString);
System.out.println(quantity + 5); // Output: 30Integer.valueOf()는 계산에 사용할 수 있는 정수를 얻을 수 있도록 보장합니다.
직접 해보기
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
public class Main {
public static void manageWarehouse(HashMap<String, Integer> warehouse, String[] operations) {
// 여기에 코드를 작성하세요
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String warehouseString = scanner.nextLine();
String operationsString = scanner.nextLine();
// JSON 문자열을 HashMap으로 변환
Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
HashMap<String, Integer> warehouse = new Gson().fromJson(warehouseString, mapType);
// JSON 문자열을 배열로 변환
String[] operations = new Gson().fromJson(operationsString, String[].class);
manageWarehouse(warehouse, operations);
}
}