Menu
CoddyTech

סיכום – ניהול מחסן

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Java של Coddy. שיעור 20 מתוך 59.

challenge icon

אתגר

קל

צרו שיטה בשם manageWarehouse שמקבלת שני ארגומנטים:

  1. HashMap בשם warehouse שבו:
    • המפתחות מייצגים שמות מוצרים (String).
    • הערכים מייצגים כמויות (Integer).
  2. רשימת פעולות (String[] operations) שבה כל מחרוזת תואמת לאחד מהפורמטים הבאים:
    • "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 למערך
        String[] operations = new Gson().fromJson(operationsString, String[].class);

        manageWarehouse(warehouse, operations);
    }
}

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: קומפיילר Java אונליין