Menu
Coddy logo textTech

Resumen - Gestionar Almacén

Parte de la sección Lógica y Flujo del Journey de Java de Coddy — lección 20 de 59.

challenge icon

Desafío

Fácil

Crea un método llamado <strong>manageWarehouse</strong> que toma dos argumentos:

  1. Un HashMap llamado <strong>warehouse</strong> donde:
    • Las claves representan nombres de productos (String).
    • Los valores representan cantidades (Integer).
  2. Una lista de operaciones (<strong>String[] operations</strong>) donde cada cadena sigue uno de estos formatos:
    • "ADD product quantity" → Añade la cantidad dada al producto existente (o lo crea si no está presente).
    • "REMOVE product quantity" → Disminuye la cantidad del producto. Si la cantidad se convierte en 0 o negativa, elimina el producto.
    • "CHECK product" → Imprime true si el producto existe, de lo contrario false.
    • "PRINT" → Imprime todos los productos y sus cantidades en el formato:

      Product: Laptop, Quantity: 10
      Product: Mouse, Quantity: 50

Para convertir un String en un Integer, usamos:

String quantityString = "25";  
int quantity = Integer.valueOf(quantityString);  
System.out.println(quantity + 5); // Output: 30

Integer.valueOf() asegura que obtenemos un entero que podemos usar en cálculos.

Pruébalo tú mismo

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) {
        // Escribe tu código aquí
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String warehouseString = scanner.nextLine();
        String operationsString = scanner.nextLine();

        // Convertir cadena JSON a HashMap
        Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
        HashMap<String, Integer> warehouse = new Gson().fromJson(warehouseString, mapType);

        // Convertir cadena JSON a Array
        String[] operations = new Gson().fromJson(operationsString, String[].class);

        manageWarehouse(warehouse, operations);
    }
}

Todas las lecciones de Lógica y Flujo