Dowiedz się, jak używać ArrayList w tej prostej, praktycznej aplikacji.
System parkingowy to wygodna, bezpieczna i zrównoważona środowiskowo metoda, która rozwiązuje znaczną część problemu związanego z zarządzaniem ruchem. Dobrze zaprojektowany system parkingowy może zmniejszyć przepływ ruchu, efektywnie wykorzystać przestrzeń, generować przychody i zapewnić lepszą obsługę użytkowników.
Dowiedz się, jak za pomocą języka Java zbudować prosty system parkingowy, który można później zaprojektować i zintegrować z bazą danych, dodać walidacje i opracować graficzny interfejs użytkownika do użytku w prawdziwym życiu.
Jak zbudować system parkingowy przy użyciu języka Java
Możesz znaleźć kod źródłowy do budowy systemu parkowania pojazdów za pomocą Java w tym Repozytorium GitHub.
W tym projekcie użyjesz tablicy ArrayList, która jest tablicą ogólnego przeznaczenia o zmiennym rozmiarze. Możesz uzyskiwać dostęp do elementów za pomocą indeksu, wykonywać operacje CRUD i nie tylko. Aby użyć ArrayList, musisz zaimportować klasę ArrayList ze standardowej biblioteki Java. Podobnie za
operacji wejścia-wyjścia, zaimportuj klasę Scanner. Zdefiniuj klasę publiczną, System parkowania pojazdu, aby służyć jako klasa główna.Zdefiniuj trzy zmienne statyczne: razemSloty, dostępne gniazda, I zaparkowaneSamochody. totalSlots reprezentuje całkowitą liczbę miejsc parkingowych, podczas gdy availableSlots śledzi, ile pozostało wolnych. parkedCars to ArrayList, która przechowuje numery tablic rejestracyjnych aktualnie zaparkowanych samochodów.
Zdefiniuj główny() metodę i utworzyć obiekt klasy Scanner. Poproś użytkownika o wprowadzenie całkowitej liczby miejsc parkingowych i zapisanie jej w totalSlots. Początkowo dostępne gniazda są równe całkowitej liczbie gniazd, więc zainicjuj availableSlots na tę samą wartość, co totalSlots.
import java.util. lista tablic;
import java.util. Skaner;publicznyklasaSystem parkowania pojazdu{
statycznyint totalSlots, availableSlots;
statyczny lista tabliczaparkowane samochody = nowy lista tablic (); publicznystatycznypróżniagłówny(String[] argumenty){
Skaner sc = nowy Skaner (System.in);
System.out.println("Wpisz łączną ilość miejsc parkingowych w obiekcie:");
totalSlots = sc.nextInt();
dostępne gniazda = całkowita liczba miejsc;
Użyj pętli while który działa w nieskończoność. Zapytaj użytkownika, czy chce zaparkować samochód, usunąć go, wyświetlić zaparkowane samochody lub wyjść z programu. W zależności od wyboru wywołaj odpowiednią metodę. Jeśli użytkownik chce zakończyć program, użyj Wyjście z systemu (0) natychmiast zakończyć.
chwila (PRAWDA) {
System.out.println("\n Co chciałbyś zrobić?");
System.out.println("1. Zaparkować samochód");
System.out.println("2. Usuń samochód”);
System.out.println("3. Zobacz zaparkowane samochody");
System.out.println("4. Wyjście");
int wybór = sc.nextInt();
przełącznik (wybór) {
sprawa1:
ParkSamochód();
przerwa;
sprawa2:
usuńSamochód();
przerwa;
sprawa3:
wyświetl zaparkowane samochody();
przerwa;
sprawa4:
system.wyjście(0);
domyślny:
System.out.println(„Nieprawidłowy wybór. Proszę spróbuj ponownie.");
}
}
}
Zdefiniuj publiczną metodę statyczną, ParkSamochód(), bez zwracanego typu. Jeśli nie ma wolnych miejsc, poinformuj o tym użytkownika i wróć. W przeciwnym razie poproś użytkownika o wprowadzenie numeru rejestracyjnego swojego samochodu i skorzystaj z dodać() metodę, aby wstawić ją do ArrayList. Zmniejsz liczbę dostępnych miejsc o jeden i wyświetl, że program zaparkował samochód wraz z aktualną liczbą dostępnych miejsc.
publicznystatycznypróżniaparkSamochód(){
Jeśli (dostępne miejsca == 0) {
System.out.println("Przepraszamy, nie ma wolnych miejsc parkingowych.");
powrót;
}
Skaner sc = nowy Skaner (System.in);
System.out.println(„Wprowadź numer rejestracyjny samochodu:”);
Ciąg tablicalicencyjna = sc.nextLine();
parkedCars.add (tablica rejestracyjna);
dostępne gniazda--;
System.out.println("Samochód został pomyślnie zaparkowany. Aktualnie dostępne sloty to: " + dostępne gniazda);
}
Zdefiniuj metodę, usuńSamochód(). Jeśli wartości dostępnej i całkowitej liczby miejsc są zgodne, wyświetl, że nie ma zaparkowanych samochodów i wróć. W przeciwnym razie poproś użytkownika o numer rejestracyjny jego samochodu. Sprawdź, czy numer tablicy rejestracyjnej wprowadzony przez użytkownika jest obecny w ArrayList za pomocą zawiera().
Jeśli się powiedzie, użyj usunąć() metoda, aby wyjąć ją z ArrayList i zwiększyć dostępne gniazda o jeden. Wyświetl komunikat, że program usunął samochód wraz z aktualną liczbą wolnych miejsc. W przypadku, gdy nie znajdziesz numeru rejestracyjnego, wyświetl informację, że na terenie obiektu nie ma zaparkowanego takiego samochodu.
publicznystatycznypróżniausuńSamochód(){
Jeśli (availableSlots == totalSlots) {
System.out.println(„Nie ma zaparkowanych samochodów”.);
powrót;
}Skaner sc = nowy Skaner (System.in);
System.out.println(„Wprowadź numer rejestracyjny samochodu do usunięcia:”);
Ciąg tablicalicencyjna = sc.nextLine();
Jeśli (parkedCars.contains (tablica rejestracyjna)) {
parkedCars.remove (tablica rejestracyjna);
dostępneSloty++;
System.out.println(„Samochód usunięty pomyślnie. Aktualnie dostępne sloty to: " + dostępne gniazda);
} w przeciwnym razie {
System.out.println(„Samochód nie jest tu zaparkowany”.);
}
}
Zdefiniuj metodę, wyświetl zaparkowane samochody(). Podobnie jak powyżej sprawdź, czy nie ma zaparkowanych samochodów. W przeciwnym razie wyświetl numery rejestracyjne zaparkowanych samochodów. Aby to zrobić, użyj pętli for-each, aby przeglądać elementy w tablicy ArrayList i wyświetlać je jeden po drugim.
publicznystatycznypróżniawyświetl zaparkowane samochody(){
Jeśli (availableSlots == totalSlots) {
System.out.println(„Nie ma zaparkowanych samochodów”.);
powrót;
}System.out.println(„Zaparkowane samochody:”);
Do (Ciąg tablicy rejestracyjnej: zaparkowane samochody) {
System.out.println (tabliczka rejestracyjna);
}
}
}
Złóż to wszystko razem, a Twój system parkingowy jest gotowy do użycia.
Przykładowe dane wyjściowe z programu Parking
Po uruchomieniu powyższego kodu program prosi o podanie całkowitej liczby miejsc parkingowych obiektu. Po wprowadzeniu 5 daje możliwość zaparkowania samochodu, usunięcia go, przejrzenia wszystkich zaparkowanych samochodów i wyjścia z programu. Po wybraniu opcji 1 prosi o podanie numeru rejestracyjnego samochodu i zmniejsza dostępne miejsce parkując je.
Wybierając opcję 3, możesz zobaczyć numer rejestracyjny samochodu, który właśnie zaparkowałeś. Po wybraniu opcji 2 i wpisaniu numeru rejestracyjnego program usuwa samochód, a dostępne miejsca zwiększają się o jeden.
Inne systemy zarządzania, które możesz zbudować
Budując systemy zarządzania w języku Java, zdobywasz wiedzę specjalistyczną w różnych aspektach tworzenia oprogramowania, zarządzania bazami danych, bezpieczeństwa i integracji systemów. Niektóre z projektów, które możesz zbadać, to system zarządzania zapasami, który pomaga zrozumieć modelowanie danych, operacje CRUD, śledzenie zapasów i realizację zamówień.
Możesz zbudować system zarządzania biblioteką, aby nauczyć się organizacji danych i uwierzytelniania użytkowników. Systemy zarządzania pracownikami lub uczniami są bardzo podobne i mogą pomóc w nauce kontroli dostępu opartej na rolach i śledzenia obecności.