Menu
CoddyTech

回顾:管理仓库

本课属于 Coddy Java 学习旅程的“逻辑与流程”单元。第 20 课,共 59 课。

challenge icon

挑战

简单

创建一个名为 manageWarehouse 的方法,它接收两个参数:

  1. 一个名为 warehouse 的 HashMap,其中:
    • 键表示产品名称(String)。
    • 值表示数量(Integer)。
  2. 一个操作列表(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: 30

Integer.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);
    }
}

逻辑与流程中的所有课

自己练习: Java 在线编译器