Riepilogo - Gestire il magazzino
Fa parte della sezione Logica e flusso del percorso Java di Coddy. Lezione 20 di 59.
Sfida
FacileCrea un metodo chiamato <strong>manageWarehouse</strong> che accetta due argomenti:
- Una HashMap denominata
<strong>warehouse</strong>in cui:- Le chiavi rappresentano i nomi dei prodotti (
String). - I valori rappresentano le quantità (
Integer).
- Le chiavi rappresentano i nomi dei prodotti (
- Un elenco di operazioni (
<strong>String[] operations</strong>) in cui ogni stringa segue uno di questi formati:"ADD product quantity"→ Aggiunge la quantità indicata al prodotto esistente (oppure lo crea se non è presente)."REMOVE product quantity"→ Diminuisce la quantità del prodotto. Se la quantità diventa 0 o negativa, rimuove il prodotto."CHECK product"→ Stampatruese il prodotto esiste, altrimentifalse."PRINT"→ Stampa tutti i prodotti e le rispettive quantità nel formato:Product: Laptop, Quantity: 10 Product: Mouse, Quantity: 50
Per convertire una String in un Integer, usiamo:
String quantityString = "25";
int quantity = Integer.valueOf(quantityString);
System.out.println(quantity + 5); // Output: 30Integer.valueOf() assicura che otteniamo un intero che possiamo usare nei calcoli.
Provalo tu
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) {
// Scrivi qui il tuo codice
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String warehouseString = scanner.nextLine();
String operationsString = scanner.nextLine();
// Converti la stringa JSON in HashMap
Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
HashMap<String, Integer> warehouse = new Gson().fromJson(warehouseString, mapType);
// Converti la stringa JSON in Array
String[] operations = new Gson().fromJson(operationsString, String[].class);
manageWarehouse(warehouse, operations);
}
}Tutte le lezioni di Logica e flusso
1Array multidimensionali
Concetti di base degli array 2DAccesso agli elementi degli array 2DCicli annidati con array 2DRiepilogo - Array 2DAddizione e sottrazione di matriciArray irregolariArray 3D e oltreSchemi comuni degli array 2DRiepilogo - Tutto sugli array4HashSet Parte 1
Che cos'è un HashSet?Aggiungere un elementoRimuovere un elementoVerificare se un elemento esisteVuoto e dimensioneSvuotare e clonareRipasso - HashSet7Gestione di base degli errori
Nozioni di base su try-catchBlocco finallyLancio di eccezioniEccezioni personalizzate2HashMap Parte 1
Che cos'è una HashMap?Dichiarare una HashMapAccedere ai valoriVerificare se una chiave esisteModificare i dizionariRiepilogo - HashMap3HashMap Parte 2
Metodi di HashMapIterare con keySet()Iterare con entrySet()HashMap annidateRiepilogo - Gestire il magazzinoRiepilogo - Operazioni con HashMap6Flusso di controllo avanzato
Istruzioni con etichettaEspressione switchCorrispondenza dei patternClausole guardiaRiepilogo - Flusso di controllo9Progetto - Contatore di parole uniche
Inserimento e memorizzazione del testoElaborazione delle paroleEsercitati da solo: Compilatore Java online