Naučte sa používať ArrayList pre túto jednoduchú a praktickú aplikáciu.

Parkovací systém je pohodlný, bezpečný a environmentálne udržateľný spôsob, ktorý rieši veľkú časť problému riadenia dopravy. Dobre navrhnutý parkovací systém môže znížiť dopravný tok, efektívne využiť priestor, generovať príjmy a poskytnúť lepší užívateľský zážitok.

Zistite, ako môžete použiť Javu na vytvorenie jednoduchého parkovacieho systému, ktorý môžete neskôr navrhnúť a integrovať s databázou, pridať overenia a vyvinúť grafické používateľské rozhranie na použitie v reálnom živote.

Ako vybudovať parkovací systém pomocou Java

Zdrojový kód na zostavenie systému parkovania vozidiel pomocou Javy nájdete v tomto úložisko GitHub.

Pre tento projekt použijete ArrayList, čo je pole na všeobecné použitie s nastaviteľnou veľkosťou. K prvkom môžete pristupovať pomocou indexu, vykonávať operácie CRUD a podobne. Ak chcete použiť ArrayList, musíte importovať triedu ArrayList zo štandardnej knižnice Java. Podobne pre vstupno-výstupné operácie importujte triedu Scanner

instagram viewer
. Definujte verejnú triedu, VehicleParkingSystem, slúžiť ako hlavná trieda.

Definujte tri statické premenné: totalSlots, dostupnéSloty, a zaparkované autá. totalSlots predstavuje celkový počet parkovacích miest, zatiaľ čo availableSlots sleduje, koľko zostáva voľných. parkedCars je ArrayList, ktorý ukladá čísla poznávacích značiek aktuálne zaparkovaných áut.

Definujte Hlavná() a vytvorte objekt triedy Scanner. Požiadajte používateľa, aby zadal celkový počet parkovacích miest a uložil ho do totalSlots. Na začiatku sa dostupné sloty rovnajú celkovému počtu slotov, takže dostupné sloty inicializujte na rovnakú hodnotu ako totalSlots.

importovať java.util. ArrayList;
importovať java.util. Skener;

verejnostitriedaVehicleParkingSystem{

statickéint totalSlots, availableSlots;
statické ArrayList zaparkované autá = Nový ArrayList();

verejnostistatickéneplatnéHlavná(Reťazec[] argumentov){

Scanner sc = Nový Skener (System.in);
System.out.println("Zadajte celkový počet parkovacích miest v zariadení:");
totalSlots = sc.nextInt();
availableSlots = totalSlots;

Použite slučku while ktorá beží donekonečna. Opýtajte sa používateľa, či chce zaparkovať auto, odstrániť ho, zobraziť zaparkované autá alebo ukončiť program. V závislosti od výberu zavolajte príslušnú metódu. Ak chce používateľ ukončiť program, použite System.exit (0) okamžite ukončiť.

zatiaľ čo (pravda) {
System.out.println("\n Čo by ste chceli robiť?");
System.out.println("1. Zaparkuj auto");
System.out.println("2. Odstráňte auto");
System.out.println("3. Zobraziť zaparkované autá");
System.out.println("4. VÝCHOD");
int voľba = sc.nextInt();

prepínač (výber) {
prípad1:
parkCar();
prestávka;
prípad2:
removeAuto();
prestávka;
prípad3:
viewParkedCars();
prestávka;
prípad4:
System.exit(0);
predvolená:
System.out.println(„Neplatná voľba. Prosím skúste znova.");
}
}
}

Definujte verejnú statickú metódu, parkCar(),bez návratového typu. Ak nie sú k dispozícii žiadne sloty, informujte používateľa a vráťte sa. V opačnom prípade požiadajte používateľa, aby zadal poznávaciu značku svojho auta a použil ho pridať () metóda na jeho vloženie do ArrayList. Znížte počet dostupných slotov o jeden a zobrazte, že program zaparkoval auto spolu s aktuálnym počtom voľných slotov.

verejnostistatickéneplatnéparkCar(){
ak (dostupné sloty == 0) {
System.out.println("Prepáčte, nie sú k dispozícii žiadne parkovacie miesta.");
vrátiť;
}

Scanner sc = Nový Skener (System.in);
System.out.println("Zadajte poznávaciu značku auta:");
String licensePlate = sc.nextLine();
parkedCars.add (licencePlate);
dostupné sloty --;
System.out.println(„Auto je úspešne zaparkované. Aktuálne dostupné sloty sú: " + dostupné sloty);
}

Definujte metódu, removeCar(). Ak sa hodnoty dostupného a celkového počtu slotov zhodujú, zobrazte, že tam nie sú žiadne zaparkované autá, a vráťte sa. V opačnom prípade požiadajte používateľa o ŠPZ jeho auta. Skontrolujte, či sa číslo ŠPZ zadané používateľom nachádza v ArrayList using obsahuje().

V prípade úspechu použite odstrániť () metóda na jeho vyňatie z ArrayList a zvýšenie dostupných slotov o jeden. Zobrazte správu, že program odstránil auto spolu s aktuálnym počtom dostupných slotov. V prípade, že nenájdete ŠPZ, ukážte, že v objekte nie je zaparkované žiadne takéto auto.

verejnostistatickéneplatnéodstrániťAuto(){
ak (availableSlots == totalSlots) {
System.out.println("Nie sú tam zaparkované autá.");
vrátiť;
}

Scanner sc = Nový Skener (System.in);
System.out.println("Zadajte poznávaciu značku auta, ktoré chcete odstrániť:");
String licensePlate = sc.nextLine();

ak (parkedCars.contains (licencePlate)) {
parkedCars.remove (licencePlate);
dostupnéSlots++;
System.out.println("Auto bolo úspešne odstránené. Aktuálne dostupné sloty sú: " + dostupné sloty);
} inak {
System.out.println("Auto tu nie je zaparkované.");
}
}

Definujte metódu, viewParkedCars(). Podobne ako vyššie skontrolujte, či tam nie sú zaparkované autá. V opačnom prípade zobrazte poznávacie značky zaparkovaných áut. Ak to chcete urobiť, použite cyklus for-each na iteráciu položiek v ArrayList a ich zobrazenie jednu po druhej.

verejnostistatickéneplatnéviewParkedCars(){
ak (availableSlots == totalSlots) {
System.out.println("Nie sú tam zaparkované autá.");
vrátiť;
}

System.out.println("Zaparkované autá:");

pre (String LicensePlate: parkedCars) {
System.out.println (licensPlate);
}
}
}

Dajte to všetko dokopy a váš parkovací systém je pripravený na použitie.

Príklad výstupu z programu parkovania

Po spustení vyššie uvedeného kódu vás program požiada o zadanie celkového počtu parkovacích miest v zariadení. Po zadaní 5 dáva možnosť zaparkovať auto, odstrániť ho, zobraziť všetky zaparkované autá a ukončiť program. Pri výbere možnosti 1 sa zobrazí výzva na zadanie poznávacej značky vozidla a zaparkovaním sa zníži voľné miesto.

Pri výbere možnosti 3 si môžete pozrieť ŠPZ auta, ktoré ste práve zaparkovali. Po výbere možnosti 2 a zadaní ŠPZ program odstráni auto a voľné miesta sa zvýšia o jeden.

Ďalšie riadiace systémy, ktoré môžete vytvoriť

Vybudovaním systémov správy v jazyku Java získate odborné znalosti v rôznych aspektoch vývoja softvéru, správy databáz, bezpečnosti a systémovej integrácie. Niekoľko projektov, ktoré môžete preskúmať, je systém riadenia zásob, ktorý vám pomôže pochopiť modelovanie údajov, operácie CRUD, sledovanie zásob a plnenie objednávok.

Môžete si vytvoriť systém správy knižnice, aby ste sa naučili organizáciu údajov a autentifikáciu používateľov. Systémy riadenia zamestnancov alebo študentov sú veľmi podobné a môžu vám pomôcť naučiť sa riadenie prístupu na základe rolí a sledovanie dochádzky.