Naučite kako koristiti ArrayList za ovu jednostavnu, praktičnu aplikaciju.
Sustav parkiranja je praktična, sigurna i ekološki održiva metoda koja rješava veliki dio problema upravljanja prometom. Dobro osmišljen sustav parkiranja može smanjiti protok prometa, učinkovito iskoristiti prostor, generirati prihod i pružiti poboljšano korisničko iskustvo.
Naučite kako možete koristiti Javu za izgradnju jednostavnog sustava parkiranja koji kasnije možete dizajnirati i integrirati s bazom podataka, dodati provjere valjanosti i razviti grafičko korisničko sučelje za korištenje u stvarnom životu.
Kako izgraditi sustav parkiranja pomoću Jave
Ovdje možete pronaći izvorni kod za izgradnju sustava za parkiranje vozila pomoću Jave GitHub spremište.
Za ovaj projekt ćete koristiti ArrayList koji je polje opće namjene s promjenom veličine. Elementima možete pristupiti pomoću indeksa, izvoditi CRUD operacije i još mnogo toga. Da biste koristili ArrayList, trebate uvesti klasu ArrayList iz Java standardne knjižnice. Slično tome, za
ulazno-izlazne operacije, import klase Scanner. Definirajte javnu klasu, Sustav za parkiranje vozila, da služi kao glavna klasa.Definirajte tri statičke varijable: totalSlots, dostupni utori, i parkirani automobili. totalSlots predstavlja ukupan broj parkirnih mjesta, dok availableSlots prati koliko ih je ostalo slobodnih. parkedCars je ArrayList koji pohranjuje brojeve registarskih tablica trenutno parkiranih automobila.
Definirajte glavni() metodu i kreirati objekt klase Scanner. Tražite od korisnika da unese ukupan broj parkirnih mjesta i pohrani ga u totalSlots. U početku, dostupni utori jednaki su ukupnim utorima pa inicijalizirajte availableSlots na istu vrijednost kao totalSlots.
uvoz java.util. ArrayList;
uvoz java.util. Skener;javnostrazredaSustav za parkiranje vozila{
statičkiint totalSlots, availableSlots;
statički ArrayListparkirani automobili = novi ArrayList (); javnoststatičkiponištitiglavni(String[] argumenti){
Skener sc = novi Skener (System.in);
System.out.println("Unesite ukupan broj parkirnih mjesta u objektu:");
totalSlots = sc.nextInt();
raspoloživi utori = ukupni utori;
Koristite while petlju koji traje unedogled. Pitajte korisnika želi li parkirati automobil, ukloniti ga, pogledati parkirane automobile ili izaći iz programa. Ovisno o izboru, pozovite odgovarajuću metodu. Ako korisnik želi prekinuti program, upotrijebite System.exit (0) odmah prekinuti.
dok (pravi) {
System.out.println("\n Što biste željeli učiniti?");
System.out.println("1. Parkiraj auto");
System.out.println("2. Ukloni auto");
System.out.println("3. Pogledaj parkirana vozila");
System.out.println("4. Izlaz");
int izbor = sc.nextInt();
sklopka (izbor) {
slučaj1:
parkirajAuto();
pauza;
slučaj2:
ukloniAuto();
pauza;
slučaj3:
pogledParkiraniAutomobili();
pauza;
slučaj4:
System.exit(0);
zadano:
System.out.println(„Neispravan izbor. Molim te pokušaj ponovno.");
}
}
}
Definirajte javnu statičku metodu, parkiraj auto(),bez povratne vrste. Ako nema slobodnih mjesta, obavijestite korisnika i vratite se. U suprotnom, zamolite korisnika da unese registarsku pločicu svog automobila i upotrijebi dodati() metodu za umetanje u ArrayList. Smanjite broj dostupnih mjesta za jedan i prikažite da je program parkirao automobil zajedno s trenutnim brojem dostupnih mjesta.
javnoststatičkiponištitiparkCar(){
ako (dostupni utori == 0) {
System.out.println("Žao nam je, nema slobodnih parkirnih mjesta.");
povratak;
}
Skener sc = novi Skener (System.in);
System.out.println("Unesite registarsku tablicu automobila:");
String licencna ploča = sc.nextLine();
parkedCars.add (licensePlate);
dostupni utori--;
System.out.println("Automobil je uspješno parkiran. Trenutno dostupni utori su: " + dostupni utori);
}
Definirajte metodu, ukloniAuto(). Ako se vrijednosti raspoloživog i ukupnog broja mjesta podudaraju, pokažite da nema parkiranih automobila i vratite se. U suprotnom, pitajte korisnika za registarsku tablicu njegovog automobila. Provjerite je li broj registarske pločice koji je unio korisnik prisutan u ArrayList pomoću sadrži ().
Ako uspije, upotrijebite ukloniti() metodom da ga izvadite iz ArrayList i povećate dostupne utore za jedan. Prikažite poruku da je program uklonio automobil zajedno s trenutnim brojem dostupnih utora. U slučaju da ne pronađete registarsku tablicu, istaknite da u objektu nema parkiranog automobila.
javnoststatičkiponištitiuklonitiAuto(){
ako (availableSlots == totalSlots) {
System.out.println("Nema parkiranih automobila.");
povratak;
}Skener sc = novi Skener (System.in);
System.out.println("Unesite registarsku pločicu automobila koji želite ukloniti:");
String licencna ploča = sc.nextLine();
ako (parkedCars.contains (licensePlate)) {
parkedCars.remove (licensePlate);
dostupni utori++;
System.out.println("Automobil je uspješno uklonjen. Trenutno dostupni utori su: " + dostupni utori);
} drugo {
System.out.println("Auto nije ovdje parkirano.");
}
}
Definirajte metodu, pogledParkiraniAutomobili(). Slično gore navedenom, provjerite nema li parkiranih automobila. U suprotnom, prikažite brojeve registarskih tablica parkiranih automobila. Da biste to učinili, upotrijebite petlju for-each da biste iterirali stavke u ArrayList i prikazali ih jednu po jednu.
javnoststatičkiponištitiviewParkedCars(){
ako (availableSlots == totalSlots) {
System.out.println("Nema parkiranih automobila.");
povratak;
}System.out.println("Parkirani automobili:");
za (String registarske pločice: parkirani automobili) {
System.out.println (licensePlate);
}
}
}
Spojite sve zajedno i vaš je sustav parkiranja spreman za korištenje.
Primjer izlaza iz programa parkiranja
Nakon pokretanja gornjeg koda, program traži unos ukupnog broja parkirnih mjesta objekta. Upisom 5 daje mogućnost parkiranja automobila, uklanjanje, pregled svih parkiranih automobila i izlazak iz programa. Prilikom odabira opcije 1, traži se unos registarske tablice automobila i smanjuje dostupno mjesto parkiranjem.
Odabirom opcije 3 možete vidjeti registarske tablice automobila koji ste upravo parkirali. Odabirom opcije 2 i unosom registarske pločice, program uklanja automobil i raspoloživa mjesta se povećavaju za jedan.
Ostali sustavi upravljanja koje možete izgraditi
Izgradnjom sustava upravljanja u Javi stječete stručnost u različitim aspektima razvoja softvera, upravljanja bazom podataka, sigurnosti i integracije sustava. Neki od projekata koje možete istražiti su sustav upravljanja zalihama koji vam pomaže razumjeti modeliranje podataka, CRUD operacije, praćenje zaliha i ispunjavanje narudžbi.
Možete izgraditi sustav upravljanja knjižnicom kako biste naučili organizaciju podataka i autentifikaciju korisnika. Sustavi upravljanja zaposlenicima ili studentima vrlo su slični i mogu vam pomoći da naučite kontrolu pristupa na temelju uloga i praćenje prisutnosti.