مراجعة - إدارة المستودع
جزء من قسم Logic & Flow في رحلة Java على Coddy — الدرس 20 من 59.
التحدي
سهلقم بإنشاء طريقة تسمى <strong>manageWarehouse</strong> تأخذ وسيطين:
- HashMap تسمى
<strong>warehouse</strong>حيث:- المفاتيح (Keys) تمثل أسماء المنتجات (
String). - القيم (Values) تمثل الكميات (
Integer).
- المفاتيح (Keys) تمثل أسماء المنتجات (
- قائمة من العمليات (
<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
1المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفات ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة - المصفوفات ثنائية الأبعادجمع وطرح المصفوفاتالمصفوفات المتعرجة (Jagged Arrays)المصفوفات ثلاثية الأبعاد وما بعدهاأنماط المصفوفات ثنائية الأبعاد الشائعةمراجعة - كل شيء عن المصفوفات2HashMap الجزء الأول
ما هو الـ HashMap؟تعريف الـ HashMapالوصول إلى القيمالتحقق من وجود المفتاحتعديل القواميسملخص - HashMap3HashMap الجزء الثاني
دوال HashMapالتكرار باستخدام keySet()التكرار باستخدام entrySet()HashMap متداخلمراجعة - إدارة المستودعمراجعة - عمليات HashMap6التحكم المتقدم في تدفق البرنامج
العبارات المعنونةتعبير Switchمطابقة الأنماطجمل الحمايةمراجعة - تدفق التحكم