Menu
Coddy logo textTech

Resumo - Gerenciar Armazém

Parte da seção Lógica e Fluxo do Journey de Java da Coddy — lição 20 de 59.

challenge icon

Desafio

Fácil

Crie um método chamado <strong>manageWarehouse</strong> que recebe dois argumentos:

  1. Um HashMap chamado <strong>warehouse</strong> onde:
    • Chaves representam nomes de produtos (String).
    • Valores representam quantidades (Integer).
  2. Uma lista de operações (<strong>String[] operations</strong>) onde cada string segue um destes formatos:
    • "ADD product quantity" → Adiciona a quantidade especificada ao produto existente (ou cria se não existir).
    • "REMOVE product quantity" → Diminui a quantidade do produto. Se a quantidade se tornar 0 ou negativa, remova o produto.
    • "CHECK product" → Imprime true se o produto existir, caso contrário false.
    • "PRINT" → Imprime todos os produtos e suas quantidades no formato:

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

Para converter um String em um Integer, usamos:

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

Integer.valueOf() garante que recebamos um inteiro que possamos usar em cálculos.

Experimente você mesmo

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) {
        // Escreva seu código aqui
    }

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

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

        // Converte string JSON para Array
        String[] operations = new Gson().fromJson(operationsString, String[].class);

        manageWarehouse(warehouse, operations);
    }
}

Todas as lições de Lógica e Fluxo