Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

مراجعة - إدارة المستودع

جزء من قسم Logic & Flow في رحلة Java على Coddy — الدرس 20 من 59.

challenge icon

التحدي

سهل

قم بإنشاء طريقة تسمى <strong>manageWarehouse</strong> تأخذ وسيطين:

  1. HashMap تسمى <strong>warehouse</strong> حيث:
    • المفاتيح (Keys) تمثل أسماء المنتجات (String).
    • القيم (Values) تمثل الكميات (Integer).
  2. قائمة من العمليات (<strong>String[] operations</strong>) حيث تتبع كل سلسلة نصية أحد التنسيقات التالية:
    • "ADD product quantity" ← يضيف الكمية المعطاة إلى المنتج الموجود (أو ينشئه إذا لم يكن موجوداً).
    • "REMOVE product quantity" ← يقلل كمية المنتج. إذا أصبحت الكمية 0 أو سالبة، قم بإزالة المنتج.
    • "CHECK product" ← يطبع true إذا كان المنتج موجوداً، وإلا يطبع false.
    • "PRINT" ← يطبع جميع المنتجات وكمياتها بالتنسيق التالي:

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

لتحويل String إلى Integer، نستخدم:

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

تضمن Integer.valueOf() الحصول على عدد صحيح يمكننا استخدامه في الحسابات.

جرّب بنفسك

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) {
        // اكتب كودك هنا
    }

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

        // تحويل نص JSON إلى HashMap
        Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
        HashMap<String, Integer> warehouse = new Gson().fromJson(warehouseString, mapType);

        // تحويل نص JSON إلى مصفوفة (Array)
        String[] operations = new Gson().fromJson(operationsString, String[].class);

        manageWarehouse(warehouse, operations);
    }
}

جميع دروس Logic & Flow