Resumen - Gestionar Almacén
Parte de la sección Lógica y Flujo del Journey de Java de Coddy — lección 20 de 59.
Desafío
FácilCrea un método llamado <strong>manageWarehouse</strong> que toma dos argumentos:
- Un HashMap llamado
<strong>warehouse</strong>donde:- Las claves representan nombres de productos (
String). - Los valores representan cantidades (
Integer).
- Las claves representan nombres de productos (
- 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"→ Imprimetruesi el producto existe, de lo contrariofalse."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: 30Integer.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
1Arreglos Multidimensionales
Básicos de Arreglos 2DAccediendo a Elementos de Arreglos 2DBucles Anidados con Arreglos 2DResumen - Arreglos 2DSuma y Resta de MatricesArreglos IrregularesArreglos 3D y Más AlláPatrones Comunes de Arreglos 2DResumen - Todo Sobre Arreglos4HashSet Parte 1
¿Qué es un HashSet?Agregando un elementoEliminando un elementoComprobando si existe un elementoVacío y tamañoLimpiar y clonarResumen - HashSet7Manejo Básico de Errores
Básicos de Try-CatchBloque FinallyLanzamiento de ExcepcionesExcepciones Personalizadas2HashMap Parte 1
¿Qué es un HashMap?Declarar un HashMapAcceder a ValoresVerificar si una Clave ExisteModificar DiccionariosResumen - HashMap3HashMap Parte 2
Métodos de HashMapIterar con keySet()Iterar con entrySet()HashMap AnidadoResumen - Gestionar AlmacénResumen - Operaciones de HashMap6Flujo de Control Avanzado
Sentencias EtiquetadasExpresión SwitchCoincidencia de PatronesCláusulas de GuardiaResumen - Flujo de Control9Proyecto - Contador de Palabras Únicas
Entrada y Almacenamiento de TextoProcesamiento de Palabras