تعرف على كيفية استخدام ArrayList لهذا التطبيق البسيط والعملي.

يعد نظام وقوف السيارات طريقة مريحة وآمنة ومستدامة بيئيًا تحل جزءًا كبيرًا من مشكلة إدارة حركة المرور. يمكن لنظام وقوف السيارات المصمم جيدًا أن يقلل من تدفق حركة المرور ، ويستخدم بشكل فعال المساحة ، ويولد إيرادات ، ويعطي تجربة مستخدم محسّنة.

تعرف على كيفية استخدام Java لإنشاء نظام بسيط لوقوف السيارات يمكنك لاحقًا تصميمه والتكامل مع قاعدة بيانات وإضافة عمليات التحقق من الصحة وتطوير واجهة مستخدم رسومية لاستخدامها في الحياة الواقعية.

كيفية بناء نظام وقوف السيارات باستخدام جافا

يمكنك العثور على الكود المصدري لبناء نظام وقوف السيارات باستخدام Java في هذا مستودع جيثب.

بالنسبة لهذا المشروع ، ستستخدم ArrayList وهي مصفوفة للأغراض العامة يمكن تغيير حجمها. يمكنك الوصول إلى العناصر باستخدام فهرس وتنفيذ عمليات CRUD والمزيد. لاستخدام ArrayList، فأنت بحاجة إلى استيراد فئة ArrayList من مكتبة Java القياسية. وبالمثل ، ل عمليات الإدخال والإخراج ، واستيراد فئة الماسح الضوئي. تحديد فئة عامة ، نظام وقوف السيارات، لتكون بمثابة الطبقة الرئيسية.

حدد ثلاثة متغيرات ثابتة:

instagram viewer
إجمالي الفتحات, فتحات متاحة، و سيارات متوقفة. يمثل totalSlots إجمالي عدد أماكن وقوف السيارات ، بينما تتعقب availableSlots عدد أماكن وقوف السيارات التي تظل خالية. parkedCars هي قائمة ArrayList تخزن أرقام لوحات السيارات المتوقفة حاليًا.

عرّف ال رئيسي() طريقة وإنشاء كائن من فئة الماسح الضوئي. اطلب من المستخدم إدخال العدد الإجمالي لمواقف السيارات وتخزينها في totalSlots. في البداية ، تساوي الفتحات المتاحة إجمالي الفتحات ، لذا قم بتهيئة الفتحات المتاحة بنفس قيمة totalSlots.

يستورد java.util. قائمة الصفيف
يستورد java.util. الماسح الضوئي؛

عامفصلنظام وقوف السيارات{

ثابتةint totalSlots ، availableSlots ؛
ثابتة ArrayList متوقفة سيارات = جديد ArrayList();

عامثابتةفارغرئيسي(سلسلة [] args){

الماسح الضوئي = جديد الماسح الضوئي (System.in) ؛
System.out.println ("أدخل العدد الإجمالي لمواقف السيارات في المنشأة:");
totalSlots = sc.nextInt () ،
availableSlots = totalSlots ؛

استخدم حلقة الوقت يتم تشغيله إلى أجل غير مسمى. اسأل المستخدم عما إذا كان يريد إيقاف السيارة أو إزالتها أو عرض السيارات المتوقفة أو الخروج من البرنامج. اعتمادًا على الاختيار ، اتصل بالطريقة المقابلة. إذا كان المستخدم يرغب في إنهاء البرنامج ، فاستخدم System.exit (0) للإنهاء على الفور.

بينما (حقيقي) {
System.out.println ("\ n ماذا تريد أن تفعل؟");
System.out.println ("1. اركن سيارة ");
System.out.println ("2. إزالة سيارة ");
System.out.println ("3. عرض السيارات المتوقفة ");
System.out.println ("4. مخرج");
int الاختيار = sc.nextInt () ؛

يُحوّل (خيار) {
قضية1:
موقف السيارات()؛
استراحة;
قضية2:
removeCar () ؛
استراحة;
قضية3:
viewParkedCars () ،
استراحة;
قضية4:
System.exit (0);
تقصير:
System.out.println ("اختيار غير صالح. حاول مرة اخرى.");
}
}
}

تحديد طريقة ثابتة عامة ، موقف السيارات()، مع عدم وجود نوع عودة. إذا لم تكن هناك فتحات متاحة ، فأبلغ المستخدم وأعد. خلاف ذلك ، اطلب من المستخدم إدخال رقم لوحة ترخيص سيارته واستخدام يضيف() طريقة لإدخاله في ArrayList. قلل عدد الفتحات المتاحة بواحد وعرض أن البرنامج أوقف السيارة مع العدد الحالي للفتحات المتاحة.

عامثابتةفارغموقف السيارات(){
لو (الفتحات المتاحة == 0) {
System.out.println ("عذرًا ، لا توجد أماكن انتظار متاحة".);
يعود;
}

الماسح الضوئي = جديد الماسح الضوئي (System.in) ؛
System.out.println ("أدخل رقم لوحة ترخيص السيارة:");
ترخيص StringPlate = sc.nextLine () ،
parkedCars.add (ترخيص لوحة) ؛
فتحات متاحة--؛
System.out.println ("السيارة متوقفة بنجاح. الفواصل الزمنية المتاحة حاليًا هي: " + متاح فتحات) ؛
}

تحديد طريقة ، removeCar (). إذا كانت قيم العدد الإجمالي المتاح والخانات الزمنية متطابقة ، اعرض أنه لا توجد سيارات متوقفة وقم بإرجاعها. بخلاف ذلك ، اطلب من المستخدم رقم لوحة ترخيص سيارته. تحقق مما إذا كان رقم لوحة الترخيص الذي أدخله المستخدم موجودًا في ArrayList باستخدام يتضمن().

إذا نجحت ، فاستخدم يزيل() طريقة لإخراجها من ArrayList وزيادة الفتحات المتاحة بواحد. اعرض رسالة مفادها أن البرنامج قد أزال السيارة مع العدد الحالي للفتحات المتاحة. في حالة عدم العثور على رقم لوحة الترخيص ، أظهر عدم وجود مثل هذه السيارة متوقفة في المنشأة.

عامثابتةفارغإزالة السيارة(){
لو (availableSlots == totalSlots) {
System.out.println ("لا توجد سيارات متوقفة".);
يعود;
}

الماسح الضوئي = جديد الماسح الضوئي (System.in) ؛
System.out.println ("أدخل رقم لوحة ترخيص السيارة المراد إزالتها:");
ترخيص StringPlate = sc.nextLine () ،

لو (parkedCars.contains (LicensePlate)) {
parkedCars.remove (ترخيص لوحة) ؛
availableSlots ++ ؛
System.out.println ("تمت إزالة السيارة بنجاح. الفواصل الزمنية المتاحة حاليًا هي: " + متاح فتحات) ؛
} آخر {
System.out.println ("السيارة ليست متوقفة هنا".);
}
}

تحديد طريقة ، عرض موقف السيارات (). على غرار ما ورد أعلاه ، تحقق من عدم وجود سيارات متوقفة. خلاف ذلك ، اعرض أرقام لوحات السيارات المتوقفة. للقيام بذلك ، استخدم حلقة لكل حلقة لتكرار العناصر في ArrayList وعرضها واحدة تلو الأخرى.

عامثابتةفارغviewParkedCars(){
لو (availableSlots == totalSlots) {
System.out.println ("لا توجد سيارات متوقفة".);
يعود;
}

System.out.println ("السيارات المتوقفة":);

ل (لوحة ترخيص السلسلة: parkedCars) {
System.out.println (ترخيص لوحة) ؛
}
}
}

ضع كل ذلك معًا ونظام وقوف السيارات الخاص بك جاهز للاستخدام.

إخراج مثال من برنامج وقوف السيارات

عند تشغيل الكود أعلاه ، يطلب البرنامج إدخال العدد الإجمالي لمواقف السيارات بالمنشأة. عند الدخول 5 ، فإنه يعطي خيار إيقاف السيارة وإزالتها وعرض جميع السيارات المتوقفة والخروج من البرنامج. عند اختيار الخيار 1 ، يطلب إدخال رقم لوحة ترخيص السيارة وتقليل المساحة المتاحة عن طريق إيقافها.

عند تحديد الخيار 3 ، يمكنك عرض رقم لوحة ترخيص السيارة التي أوقفتها للتو. عند اختيار الخيار 2 وإدخال رقم لوحة الترخيص ، يقوم البرنامج بإزالة السيارة وزيادة الفتحات المتاحة بمقدار واحد.

أنظمة الإدارة الأخرى التي يمكنك بناؤها

من خلال إنشاء أنظمة إدارة في Java ، تكتسب خبرة في مختلف جوانب تطوير البرامج وإدارة قواعد البيانات والأمان وتكامل النظام. بعض المشاريع التي يمكنك استكشافها هي نظام إدارة المخزون الذي يساعدك على فهم نمذجة البيانات وعمليات CRUD وتتبع المخزون وتنفيذ الطلبات.

يمكنك بناء نظام إدارة مكتبة لتعلم تنظيم البيانات ومصادقة المستخدم. أنظمة إدارة الموظفين أو الطلاب متشابهة جدًا ويمكن أن تساعدك على تعلم التحكم في الوصول على أساس الأدوار وتتبع الحضور.