Узнайте, как использовать ArrayList для этого простого и практичного приложения.

Система парковки — это удобный, безопасный и экологически устойчивый метод, который решает большую часть проблемы управления дорожным движением. Хорошо спроектированная система парковки может уменьшить транспортный поток, эффективно использовать пространство, приносить доход и повышать удобство работы пользователей.

Узнайте, как можно использовать Java для создания простой системы парковки, которую впоследствии можно спроектировать и интегрировать с базой данных, добавить проверки и разработать графический пользовательский интерфейс для использования в реальной жизни.

Как построить систему парковки с помощью Java

Вы можете найти исходный код для создания системы парковки транспортных средств с использованием Java в этом Репозиторий GitHub.

Для этого проекта вы собираетесь использовать ArrayList, который представляет собой массив общего назначения с изменяемым размером. Вы можете получать доступ к элементам с помощью индекса, выполнять операции CRUD и многое другое.

Чтобы использовать ArrayList, вам необходимо импортировать класс ArrayList из стандартной библиотеки Java. Точно так же для операции ввода-вывода, импортировать класс Scanner. Определить публичный класс, АвтомобильПарковкаСистема, чтобы служить основным классом.

Определите три статические переменные: Всего слотов, доступные слоты, и припаркованныеавтомобили. totalSlots представляет общее количество парковочных мест, а availableSlots отслеживает, сколько свободных мест осталось. parkedCars — это список ArrayList, в котором хранятся номерные знаки автомобилей, припаркованных в данный момент.

Определите основной() метод и создайте объект класса Scanner. Попросите пользователя ввести общее количество парковочных мест и сохранить его в totalSlots. Изначально доступные слоты равны общему количеству слотов, поэтому инициализируйте availableSlots равным тому же значению, что и totalSlots.

Импортировать java.util. список массивов;
Импортировать java.util. сканер;

публичныйсортАвтомобильПарковкаСистема{

статическийинт общее количество слотов, доступных слотов;
статический ArrayList припаркованные автомобили = новый ArrayList();

публичныйстатическийпустотаосновной(строка [] аргументы){

Сканер ПК = новый Сканер (System.in);
Система.out.println("Введите общее количество парковочных мест на объекте:");
totalSlots = sc.nextInt();
доступные слоты = общее количество слотов;

Используйте цикл while что работает бесконечно. Спросите пользователя, хотят ли они припарковать автомобиль, удалить его, просмотреть припаркованные автомобили или выйти из программы. В зависимости от выбора вызовите соответствующий метод. Если пользователь хочет завершить программу, используйте Система.выход (0) прекратить немедленно.

пока (истинный) {
Система.out.println("\n Что бы вы хотели сделать?");
Система.out.println("1. припарковать машину");
Система.out.println("2. Убрать машину");
Система.out.println("3. Посмотреть припаркованные автомобили");
Система.out.println("4. Выход");
инт выбор = sc.nextInt();

выключатель (выбор) {
случай1:
припарковать машину();
перерыв;
случай2:
удалить машину();
перерыв;
случай3:
просмотреть припаркованные автомобили();
перерыв;
случай4:
Система.выход(0);
по умолчанию:
Система.out.println("Неверный выбор. Пожалуйста, попробуйте еще раз.");
}
}
}

Определите общедоступный статический метод, парккар(), без возвращаемого типа. Если свободных слотов нет, сообщите об этом пользователю и вернитесь. В противном случае попросите пользователя ввести номерной знак своего автомобиля и использовать добавлять() метод, чтобы вставить его в ArrayList. Уменьшите количество доступных слотов на единицу и отобразите, что программа припарковала машину вместе с текущим количеством доступных слотов.

публичныйстатическийпустотапаркавтомобиль(){
если (доступные слоты == 0) {
Система.out.println(«Извините, свободных мест на парковке нет».);
возвращаться;
}

Сканер ПК = новый Сканер (System.in);
Система.out.println("Введите госномер автомобиля:");
Строка licensePlate = sc.nextLine();
parkedCars.add (номерной знак);
доступные слоты--;
Система.out.println("Автомобиль успешно припаркован. Текущие доступные слоты: " + доступные слоты);
}

Определите метод, удалитьавтомобиль(). Если значения доступного и общего количества слотов совпадают, показать, что припаркованных машин нет, и вернуться. В противном случае запросите у пользователя номерной знак его автомобиля. Проверьте, присутствует ли номерной знак, введенный пользователем, в ArrayList, используя содержит().

В случае успеха используйте удалять() метод, чтобы удалить его из ArrayList и увеличить доступные слоты на единицу. Вывести сообщение о том, что программа удалила автомобиль вместе с текущим количеством доступных слотов. В случае, если вы не нашли номерной знак, покажите, что такой машины нет на стоянке.

публичныйстатическийпустотаудалитьАвтомобиль(){
если (доступные слоты == totalSlots) {
Система.out.println(«Нет припаркованных машин».);
возвращаться;
}

Сканер ПК = новый Сканер (System.in);
Система.out.println("Введите номер автомобиля, который нужно удалить:");
Строка licensePlate = sc.nextLine();

если (parkedCars.contains (номерной знак)) {
parkedCars.remove (номерной знак);
доступные слоты++;
Система.out.println("Автомобиль успешно эвакуирован. Текущие доступные слоты: " + доступные слоты);
} еще {
Система.out.println(«Машина здесь не припаркована».);
}
}

Определите метод, просмотр припаркованных автомобилей (). Как и выше, проверьте, нет ли припаркованных автомобилей. В противном случае отображать номерные знаки припаркованных автомобилей. Для этого используйте цикл for-each, чтобы перебирать элементы в ArrayList и отображать их один за другим.

публичныйстатическийпустотавидприпаркованныеавтомобили(){
если (доступные слоты == totalSlots) {
Система.out.println(«Нет припаркованных машин».);
возвращаться;
}

Система.out.println("Припаркованные машины:");

для (Строка номерного знака: parkedCars) {
System.out.println (номерной знак);
}
}
}

Соберите все вместе, и ваша система парковки готова к использованию.

Пример вывода из программы парковки

При запуске приведенного выше кода программа попросит ввести общее количество парковочных мест на объекте. При вводе 5 он дает возможность припарковать автомобиль, удалить его, просмотреть все припаркованные автомобили и выйти из программы. При выборе варианта 1 он просит ввести номерной знак автомобиля и уменьшает доступный слот, припарковывая его.

Выбрав вариант 3, вы можете просмотреть номерной знак автомобиля, который вы только что припарковали. При выборе варианта 2 и вводе номерного знака программа удаляет автомобиль, а доступные слоты увеличиваются на единицу.

Другие системы управления, которые вы можете построить

Создавая системы управления на Java, вы приобретаете опыт в различных аспектах разработки программного обеспечения, управления базами данных, безопасности и системной интеграции. Некоторые из проектов, которые вы можете изучить, — это система управления запасами, которая поможет вам понять моделирование данных, операции CRUD, отслеживание запасов и выполнение заказов.

Вы можете создать систему управления библиотекой, чтобы изучить организацию данных и аутентификацию пользователей. Системы управления сотрудниками и студентами очень похожи и могут помочь вам изучить управление доступом на основе ролей и отслеживание посещаемости.