خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

با استفاده از جاوا یک سیستم پارکینگ خودرو ساده بسازید

نحوه استفاده از ArrayList را برای این برنامه ساده و کاربردی بیاموزید.

سیستم پارکینگ یک روش راحت، ایمن و سازگار با محیط زیست است که بخش عمده ای از مشکل مدیریت ترافیک را حل می کند. یک سیستم پارکینگ به خوبی طراحی شده می تواند جریان ترافیک را کاهش دهد، به طور موثر از فضا استفاده کند، درآمدزایی کند و تجربه کاربری بهتری به کاربر بدهد.

بیاموزید که چگونه می توانید از جاوا برای ایجاد یک سیستم پارکینگ ساده استفاده کنید که بعداً می توانید آن را طراحی و با یک پایگاه داده ادغام کنید، اعتبارسنجی ها را اضافه کنید و یک رابط کاربری گرافیکی برای استفاده در زندگی واقعی ایجاد کنید.

نحوه ساخت سیستم پارکینگ با استفاده از جاوا

شما می توانید کد منبع ساخت سیستم پارک خودرو با استفاده از جاوا را در این مخزن GitHub بیابید.

برای این پروژه، می‌خواهید از ArrayList استفاده کنید که یک آرایه همه منظوره و قابل تغییر اندازه است. شما می توانید با استفاده از یک شاخص به عناصر دسترسی داشته باشید، عملیات CRUD را انجام دهید و موارد دیگر. برای استفاده از ArrayList، باید کلاس ArrayList را از کتابخانه استاندارد جاوا وارد کنید. به طور مشابه، برای عملیات ورودی-خروجی، کلاس Scanner را وارد کنید. یک کلاس عمومی، VehicleParkingSystem، برای خدمت به عنوان کلاس اصلی تعریف کنید.

سه متغیر ثابت را تعریف کنید: totalSlots، availableSlots، و parkedCars. totalSlots تعداد کل فضاهای پارکینگ را نشان می‌دهد، در حالی که availableSlots تعداد فضای آزاد باقی‌مانده را پیگیری می‌کند. parkedCars یک ArrayList است که شماره پلاک خودروهای پارک شده فعلی را ذخیره می کند.

متد main() را تعریف کنید و یک شی از کلاس Scanner ایجاد کنید. از کاربر بخواهید که تعداد کل اسلات های پارکینگ را وارد کرده و آن را در totalSlots ذخیره کند. در ابتدا، اسلات‌های موجود با کل اسلات‌ها برابری می‌کنند، بنابراین availableSlots را به همان مقدار totalSlots مقداردهی کنید.

import java.util.ArrayList;
import java.util.Scanner;

public class VehicleParkingSystem {

    static int totalSlots, availableSlots;
    static ArrayList<String> parkedCars = new ArrayList<String>();

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        System.out.println("Enter the total number of parking slots in the facility:");
        totalSlots = sc.nextInt();
        availableSlots = totalSlots;

از حلقه while استفاده کنید که به طور نامحدود اجرا می شود. از کاربر بپرسید که آیا می خواهد ماشینی را پارک کند، آن را حذف کند، ماشین های پارک شده را مشاهده کند یا از برنامه خارج شود. بسته به انتخاب، روش مربوطه را فراخوانی کنید. اگر کاربر مایل به پایان برنامه است، از System.exit(0) برای خاتمه فوری استفاده کنید.

        while (true) {
            System.out.println("\n What would you like to do?");
            System.out.println("1. Park a car");
            System.out.println("2. Remove a car");
            System.out.println("3. View parked cars");
            System.out.println("4. Exit");
            int choice = sc.nextInt();

            switch (choice) {
                case 1:
                    parkCar();
                    break;
                case 2:
                    removeCar();
                    break;
                case 3:
                    viewParkedCars();
                    break;
                case 4:
                    System.exit(0);
                default:
                    System.out.println("Invalid choice. Please try again.");
            }
        }
    }

یک متد استاتیک عمومی، parkCar()، بدون نوع بازگشت تعریف کنید. اگر اسلات در دسترس نیست، به کاربر اطلاع دهید و برگردید. در غیر این صورت از کاربر بخواهید شماره پلاک خودروی خود را وارد کرده و از متد add() برای درج آن در ArrayList استفاده کند. تعداد اسلات های موجود را یک بار کاهش دهید و نشان دهید که برنامه ماشین را به همراه تعداد اسلات های موجود پارک کرده است.

    public static void parkCar() {
        if (availableSlots == 0) {
            System.out.println("Sorry, there are no available parking slots.");
            return;
        }

        Scanner sc = new Scanner(System.in);
        System.out.println("Enter the license plate number of the car:");
        String licensePlate = sc.nextLine();
        parkedCars.add(licensePlate);
        availableSlots--;
        System.out.println("Car is parked successfully. The current available slots are: " + availableSlots);
    }

یک متد تعریف کنید، removeCar(). اگر مقادیر موجود و تعداد کل اسلات ها مطابقت دارند، نشان دهید که ماشین پارک شده وجود ندارد و برگردید. در غیر این صورت از کاربر شماره پلاک خودروی خود را بخواهید. بررسی کنید که آیا شماره پلاک وارد شده توسط کاربر در ArrayList با استفاده از contain() موجود است یا خیر.

مطلب مرتبط:   نحوه استفاده از دستورالعمل ngFor Angular

در صورت موفقیت، از متد remove() استفاده کنید تا آن را از ArrayList خارج کنید و اسلات های موجود را یک بار افزایش دهید. نمایش پیام مبنی بر اینکه برنامه ماشین را حذف کرده است به همراه تعداد اسلات های موجود. در صورتی که شماره پلاک خودرو را پیدا نکردید، نشان دهید که چنین خودرویی در محل پارک نشده است.

    public static void removeCar() {
        if (availableSlots == totalSlots) {
            System.out.println("There are no parked cars.");
            return;
        }

        Scanner sc = new Scanner(System.in);
        System.out.println("Enter the license plate number of the car to be removed:");
        String licensePlate = sc.nextLine();

        if (parkedCars.contains(licensePlate)) {
            parkedCars.remove(licensePlate);
            availableSlots++;
            System.out.println("Car removed successfully. The current available slots are: " + availableSlots);
        } else {
            System.out.println("The car is not parked here.");
        }
    }

یک متد تعریف کنید، viewParkedCars(). مشابه موارد بالا، بررسی کنید که آیا خودروهای پارک شده وجود ندارد. در غیر این صورت شماره پلاک خودروهای پارک شده را نمایش دهید. برای انجام این کار، از یک حلقه برای هر یک برای تکرار روی آیتم های موجود در ArrayList استفاده کنید و آنها را یک به یک نمایش دهید.

    public static void viewParkedCars() {
        if (availableSlots == totalSlots) {
            System.out.println("There are no parked cars.");
            return;
        }

        System.out.println("Parked cars:");

        for (String licensePlate : parkedCars) {
            System.out.println(licensePlate);
        }
    }
}

همه را کنار هم بگذارید و سیستم پارکینگ شما آماده استفاده است.

نمونه خروجی از برنامه پارکینگ

با اجرای کد بالا، برنامه از شما می خواهد که تعداد کل جایگاه های پارکینگ تاسیسات را وارد کنید. با وارد کردن عدد 5، گزینه پارک کردن ماشین، حذف آن، مشاهده تمام ماشین های پارک شده و خروج از برنامه را می دهد. با انتخاب گزینه 1، شماره پلاک خودرو را وارد می کند و با پارک کردن آن، یک اسلات موجود را کاهش می دهد.

مطلب مرتبط:   نحوه ایجاد دشمن در بازی های آرکید پایتون

با انتخاب گزینه 3، می توانید شماره پلاک خودرویی را که به تازگی پارک کرده اید مشاهده کنید. با انتخاب گزینه 2 و وارد کردن شماره پلاک، برنامه ماشین را حذف می کند و اسلات های موجود یک عدد افزایش می یابد.

خروجی سیستم مدیریت پارکینگ خودرو

سایر سیستم های مدیریتی که می توانید بسازید

با ساختن سیستم های مدیریت در جاوا، شما در جنبه های مختلف توسعه نرم افزار، مدیریت پایگاه داده، امنیت و یکپارچه سازی سیستم، تخصص کسب می کنید. تعدادی از پروژه‌هایی که می‌توانید بررسی کنید، سیستم مدیریت موجودی است که به شما کمک می‌کند مدل‌سازی داده، عملیات CRUD، ردیابی سهام و انجام سفارش را درک کنید.

شما می توانید یک سیستم مدیریت کتابخانه برای یادگیری سازماندهی داده ها و احراز هویت کاربر بسازید. سیستم های مدیریت کارمند یا دانش آموز بسیار شبیه به هم هستند و می توانند به شما در یادگیری کنترل دسترسی مبتنی بر نقش و ردیابی حضور و غیاب کمک کنند.