복습 - 창고 관리
Coddy Java 여정의 논리와 흐름 섹션에 포함된 레슨. 59개 중 20번째.
챌린지
쉬움manageWarehouse라는 이름의 메서드를 만들고, 다음 두 개의 인수를 받도록 하세요.
- 이름이
warehouse인 HashMap이며, 다음과 같습니다.- 키는 제품 이름(
String)을 나타냅니다. - 값은 수량(
Integer)을 나타냅니다.
- 키는 제품 이름(
- 연산 목록(
String[] operations)이며, 각 문자열은 다음 형식 중 하나를 따릅니다."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 문자열을 Array로 변환
String[] operations = new Gson().fromJson(operationsString, String[].class);
manageWarehouse(warehouse, operations);
}
}논리와 흐름의 모든 레슨
직접 연습해 보세요: 온라인 Java 컴파일러