Naučite se uporabljati ArrayList za to preprosto in praktično aplikacijo.

Parkirni sistem je priročna, varna in okoljsko trajnostna metoda, ki rešuje velik del vprašanja upravljanja prometa. Dobro zasnovan parkirni sistem lahko zmanjša pretok prometa, učinkovito izkoristi prostor, ustvari prihodek in izboljša uporabniško izkušnjo.

Naučite se, kako lahko z Javo zgradite preprost parkirni sistem, ki ga lahko pozneje oblikujete in integrirate z bazo podatkov, dodate validacije in razvijete grafični uporabniški vmesnik za uporabo v resničnem življenju.

Kako zgraditi parkirni sistem z uporabo Jave

Tukaj lahko najdete izvorno kodo za izdelavo sistema parkiranja vozil z uporabo Jave Repozitorij GitHub.

Za ta projekt boste uporabili ArrayList, ki je splošna matrika, ki ji je mogoče spreminjati velikost. Do elementov lahko dostopate z uporabo indeksa, izvajate operacije CRUD in drugo. Za uporabo ArrayList, morate uvoziti razred ArrayList iz standardne knjižnice Java. Podobno za vhodno-izhodne operacije, uvozite razred Scanner

instagram viewer
. Definirajte javni razred, Sistem za parkiranje vozil, ki služi kot glavni razred.

Definirajte tri statične spremenljivke: totalSlots, razpoložljive reže, in parkirani avtomobili. totalSlots predstavlja skupno število parkirnih mest, availableSlots pa spremlja, koliko jih je ostalo prostih. parkedCars je ArrayList, ki shranjuje številke registrskih tablic trenutno parkiranih avtomobilov.

Določite glavni () in ustvarite objekt razreda Scanner. Prosite uporabnika, da vnese skupno število parkirnih mest in ga shrani v totalSlots. Na začetku so razpoložljive reže enake skupnim režam, zato inicializirajte availableSlots na isto vrednost kot totalSlots.

uvoz java.util. ArrayList;
uvoz java.util. skener;

javnostirazredSistem za parkiranje vozil{

statičnaint totalSlots, availableSlots;
statična ArrayList parkirani avtomobili = novo ArrayList();

javnostistatičnaprazninaglavni(Argumenti niza[]){

Scanner sc = novo Skener (System.in);
System.out.println("Vnesite skupno število parkirnih mest v objektu:");
totalSlots = sc.nextInt();
razpoložljiva mesta = skupna mesta;

Uporabite zanko while ki teče v nedogled. Vprašajte uporabnika, ali želi parkirati avto, ga odstraniti, si ogledati parkirane avtomobile ali zapustiti program. Glede na izbiro pokličite ustrezno metodo. Če želi uporabnik končati program, uporabi System.exit (0) takoj prekiniti.

medtem (prav) {
System.out.println("\n Kaj bi radi počeli?");
System.out.println("1. Parkiraj avto");
System.out.println("2. Odstrani avto");
System.out.println("3. Ogled parkiranih avtomobilov");
System.out.println("4. Izhod");
int izbira = sc.nextInt();

stikalo (izbira) {
Ovitek1:
parkirajAvto();
odmor;
Ovitek2:
odstraniAvto();
odmor;
Ovitek3:
viewParkedCars();
odmor;
Ovitek4:
System.exit(0);
privzeto:
System.out.println("Neveljavna izbira. Prosim poskusite ponovno.");
}
}
}

Definirajte javno statično metodo, parkirajAvto(), brez povratne vrste. Če ni prostih mest, o tem obvestite uporabnika in se vrnite. V nasprotnem primeru prosite uporabnika, da vnese številko registrske tablice svojega avtomobila in uporabi dodaj() metodo, da jo vstavite v ArrayList. Zmanjšajte število razpoložljivih mest za eno in prikažite, da je program parkiral avto skupaj s trenutnim številom razpoložljivih mest.

javnostistatičnaprazninaparkCar(){
če (razpoložljive reže == 0) {
System.out.println("Žal ni prostih parkirnih mest.");
vrnitev;
}

Scanner sc = novo Skener (System.in);
System.out.println("Vnesite številko registrske tablice avtomobila:");
Niz licenčne tablice = sc.nextLine();
parkedCars.add (licenska tablica);
na voljoSlots--;
System.out.println("Avto je uspešno parkiran. Trenutno razpoložljiva mesta so: " + razpoložljive reže);
}

Določite metodo, odstraniAvto(). Če se vrednosti razpoložljivega in skupnega števila mest ujemata, prikažite, da ni parkiranih avtomobilov in se vrnite. V nasprotnem primeru prosite uporabnika za številko registrske tablice njegovega avtomobila. Preverite, ali je številka registrske tablice, ki jo je vnesel uporabnik, prisotna v ArrayList z uporabo vsebuje().

Če uspe, uporabite Odstrani() metodo, da jo vzamete iz seznama ArrayList in povečate razpoložljiva mesta za eno. Prikažite sporočilo, da je program odstranil avtomobil, skupaj s trenutnim številom razpoložljivih rež. V primeru, da številke registrske tablice ne najdete, izpišite, da v objektu ni parkiranega takega avtomobila.

javnostistatičnaprazninaodstraniAvto(){
če (availableSlots == totalSlots) {
System.out.println("Ni parkiranih avtomobilov.");
vrnitev;
}

Scanner sc = novo Skener (System.in);
System.out.println("Vnesite številko registrske tablice avtomobila, ki ga želite odstraniti:");
Niz licenčne tablice = sc.nextLine();

če (parkedCars.contains (licensePlate)) {
parkedCars.remove (licenska tablica);
na voljoSlots++;
System.out.println("Avto je bil uspešno odstranjen. Trenutno razpoložljiva mesta so: " + razpoložljive reže);
} drugače {
System.out.println("Avto ni parkiran tukaj.");
}
}

Določite metodo, viewParkedCars(). Podobno kot zgoraj preverite, ali ni parkiranih avtomobilov. V nasprotnem primeru prikažite številke registrskih tablic parkiranih avtomobilov. Če želite to narediti, uporabite zanko for-each za ponavljanje elementov v seznamu ArrayList in prikaz enega za drugim.

javnostistatičnaprazninaviewParkedCars(){
če (availableSlots == totalSlots) {
System.out.println("Ni parkiranih avtomobilov.");
vrnitev;
}

System.out.println("Parkirani avtomobili:");

za (Niz registrske tablice: parkirani avtomobili) {
System.out.println (licensePlate);
}
}
}

Sestavite vse skupaj in vaš parkirni sistem je pripravljen za uporabo.

Primer izhoda iz programa za parkiranje

Ob zagonu zgornje kode program zahteva vnos skupnega števila parkirnih mest objekta. Ob vnosu 5 daje možnost parkiranja avtomobila, odstranitve, ogled vseh parkiranih avtomobilov in izhod iz programa. Ko izberete možnost 1, zahteva vnos številke registrske tablice avtomobila in zmanjša razpoložljivo mesto tako, da ga parkira.

Ko izberete možnost 3, si lahko ogledate številko registrske tablice avtomobila, ki ste ga pravkar parkirali. Ob izbiri opcije 2 in vnosu številke registrske tablice program odstrani avto in razpoložljiva mesta se povečajo za eno.

Drugi sistemi upravljanja, ki jih lahko zgradite

Z gradnjo sistemov za upravljanje v Javi pridobite strokovno znanje o različnih vidikih razvoja programske opreme, upravljanja baz podatkov, varnosti in sistemske integracije. Nekaj ​​projektov, ki jih lahko raziščete, je sistem za upravljanje zalog, ki vam pomaga razumeti modeliranje podatkov, operacije CRUD, sledenje zalogam in izpolnjevanje naročil.

Zgradite lahko sistem za upravljanje knjižnice, da se naučite organizacije podatkov in avtentikacije uporabnikov. Sistemi za upravljanje zaposlenih ali študentov so si zelo podobni in vam lahko pomagajo pri učenju nadzora dostopa na podlagi vlog in sledenja prisotnosti.