Powtórka — zarządzanie magazynem
Część sekcji Logika i przepływ sterowania ścieżki Java w Coddy. Lekcja 20 z 59.
Wyzwanie
ŁatwyUtwórz metodę o nazwie <strong>manageWarehouse</strong>, która przyjmuje dwa argumenty:
- HashMap o nazwie
<strong>warehouse</strong>, w której:- Klucze reprezentują nazwy produktów (
String). - Wartości reprezentują ilości (
Integer).
- Klucze reprezentują nazwy produktów (
- Lista operacji (
<strong>String[] operations</strong>), w której każdy ciąg znaków ma jeden z następujących formatów:"ADD product quantity"→ Dodaje podaną ilość do istniejącego produktu (lub tworzy go, jeśli jeszcze nie istnieje)."REMOVE product quantity"→ Zmniejsza ilość produktu. Jeśli ilość wynosi 0 lub mniej, usuń produkt."CHECK product"→ Wyświetlatrue, jeśli produkt istnieje, w przeciwnym raziefalse."PRINT"→ Wyświetla wszystkie produkty i ich ilości w formacie:Product: Laptop, Quantity: 10 Product: Mouse, Quantity: 50
Aby przekonwertować String na Integer, używamy:
String quantityString = "25";
int quantity = Integer.valueOf(quantityString);
System.out.println(quantity + 5); // Output: 30Integer.valueOf() pozwala uzyskać liczbę całkowitą, której możemy używać w obliczeniach.
Spróbuj swoich sił
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) {
// Wpisz tutaj swój kod
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String warehouseString = scanner.nextLine();
String operationsString = scanner.nextLine();
// Przekształć ciąg znaków JSON w HashMap
Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
HashMap<String, Integer> warehouse = new Gson().fromJson(warehouseString, mapType);
// Przekształć ciąg znaków JSON w Array
String[] operations = new Gson().fromJson(operationsString, String[].class);
manageWarehouse(warehouse, operations);
}
}Wszystkie lekcje w sekcji Logika i przepływ sterowania
1Tablice wielowymiarowe
Podstawy tablic 2DDostęp do elementów tablic 2DPętle zagnieżdżone z tablicami 2DPodsumowanie — tablice 2DDodawanie i odejmowanie macierzyTablice postrzępioneTablice 3D i większeTypowe wzorce dla tablic 2DPodsumowanie — wszystko o tablicach2HashMap część 1
Czym jest HashMap?Deklarowanie HashMapDostęp do wartościSprawdzanie, czy klucz istniejeModyfikowanie słownikówPodsumowanie — HashMap3HashMap — część 2
Metody HashMapIterowanie za pomocą keySet()Iterowanie za pomocą entrySet()Zagnieżdżona HashMapPowtórka — zarządzanie magazynemPowtórka — operacje na HashMap6Zaawansowany przepływ sterowania
Instrukcje etykietująceWyrażenie switchDopasowywanie wzorcówKlauzule ochronnePowtórzenie — przepływ sterowania9Projekt — licznik unikalnych słów
Wprowadzanie i przechowywanie tekstuPrzetwarzanie słówPoćwicz samodzielnie: Kompilator Java online