Siit saate teada, kuidas kasutada ArrayListi selle lihtsa ja praktilise rakenduse jaoks.
Parkimissüsteem on mugav, ohutu ja keskkonnasäästlik meetod, mis lahendab suure osa liikluskorralduse probleemist. Hästi läbimõeldud parkimissüsteem võib vähendada liiklusvoogu, kasutada tõhusalt ruumi, teenida tulu ja pakkuda paremat kasutuskogemust.
Õppige, kuidas saate Java abil ehitada lihtsa parkimissüsteemi, mida saate hiljem kujundada ja andmebaasiga integreerida, lisada valideerimisi ja arendada graafilist kasutajaliidest, mida päriselus kasutada.
Kuidas Java abil parkimissüsteemi luua
Siit leiate Java abil sõidukite parkimissüsteemi ehitamise lähtekoodi GitHubi hoidla.
Selle projekti jaoks kavatsete kasutada ArrayListi, mis on üldotstarbeline, muudetava suurusega massiiv. Saate elementidele juurde pääseda indeksi abil, teha CRUD-toiminguid ja palju muud. ArrayListi kasutamiseks, peate importima klassi ArrayList Java standardteegist. Samamoodi jaoks sisend-väljund toimingud, importige Skänneri klass. Määratlege avalik klass, Sõiduki Parkimissüsteem, et olla põhiklass.
Määrake kolm staatilist muutujat: Slots kokku, saadaval olevad teenindusajadja pargitudAutod. totalSlots tähistab parkimiskohtade koguarvu, samas kui availableSlots jälgib, kui palju parkimiskohti jääb vabaks. parkedCars on ArrayList, mis salvestab hetkel pargitud autode numbrimärgid.
Määratlege peamine () meetod ja looge Scanner klassi objekt. Paluge kasutajal sisestada parkimiskohtade koguarv ja salvestada see kausta TotalSlots. Esialgu on saadaolevad pesad võrdsed pesade koguarvuga, nii et lähtestage saadaval olevad pesad samale väärtusele kui totalSlots.
importida java.util. ArrayList;
importida java.util. skanner;avalikklassSõiduki Parkimissüsteem{
staatilineint totalSlots, availableSlots;
staatiline ArrayListpargitudAutod = uus ArrayList (); avalikstaatilinetühinepeamine(String[] args){
Skänner sc = uus skanner (System.in);
System.out.println("Sisestage rajatise parkimiskohtade koguarv:");
totalSlots = sc.nextInt();
availableSlots = totalSlots;
Kasutage ajasilmust mis kestab lõputult. Küsige kasutajalt, kas ta soovib autot parkida, eemaldada, pargitud autosid vaadata või programmist väljuda. Olenevalt valikust helistage vastavale meetodile. Kui kasutaja soovib programmi lõpetada, kasutage System.exit (0) viivitamatult lõpetada.
samas (tõsi) {
System.out.println("\n Mida sa teha tahaksid?");
System.out.println("1. Parkige auto");
System.out.println("2. Eemaldage auto");
System.out.println("3. Vaata pargitud autosid");
System.out.println("4. Välju");
int valik = sc.nextInt();
lüliti (valik) {
juhtum1:
parkCar();
murda;
juhtum2:
eemalda Auto();
murda;
juhtum3:
viewParkedCars();
murda;
juhtum4:
System.exit(0);
vaikimisi:
System.out.println("Vigane valik. Palun proovi uuesti.");
}
}
}
Määratlege avalik staatiline meetod, parkCar(), ilma tagastustüübita. Kui vabu kohti pole, teavitage kasutajat ja pöörduge tagasi. Muul juhul paluge kasutajal sisestada oma auto numbrimärk ja kasutada lisama() meetodit selle lisamiseks ArrayList. Vähendage saadaolevate teenindusaegade arvu ühe võrra ja kuvage, et programm parkis auto koos vabade kohtade arvuga.
avalikstaatilinetühineparkCar(){
kui (availableSlots == 0) {
System.out.println("Kahjuks pole vabu parkimiskohti.");
tagasi;
}
Skänner sc = uus skanner (System.in);
System.out.println("Sisestage auto numbrimärk:");
String litsentsiplaat = sc.nextLine();
parkedCars.add (litsentsiplaat);
saadaval Slots--;
System.out.println("Auto on edukalt pargitud. Praegu on saadaval olevad teenindusajad: " + saadaval olevad teenindusajad);
}
Määratlege meetod, eemalda auto (). Kui saadaolevate kohtade ja koguarvu väärtused ühtivad, kuvage teade, et pargitud autosid pole ja pöörduge tagasi. Vastasel juhul küsige kasutajalt tema auto numbrimärki. Kontrollige, kas kasutaja sisestatud numbrimärgi number on ArrayList kasutades olemas sisaldab().
Kui see õnnestub, kasutage eemalda () meetodit, et see ArrayListist välja võtta ja saadaolevaid pesasid ühe võrra suurendada. Kuvage teade, et programm on auto eemaldanud, koos vabade kohtade arvuga. Kui te numbrimärki ei leia, näidake, et rajatises sellist autot ei ole pargitud.
avalikstaatilinetühineeemalda Auto(){
kui (availableSlots == totalSlots) {
System.out.println("Pargitud autosid pole.");
tagasi;
}Skänner sc = uus skanner (System.in);
System.out.println("Sisestage eemaldatava auto numbrimärk:");
String litsentsiplaat = sc.nextLine();
kui (parkedCars.contains (licensePlate)) {
parkedCars.remove (litsentsiplaat);
saadaval Slots++;
System.out.println("Auto eemaldamine õnnestus. Praegu on saadaval olevad teenindusajad: " + saadaval olevad teenindusajad);
} muidu {
System.out.println("Auto ei ole siin pargitud.");
}
}
Määratlege meetod, vaataParkedCars(). Sarnaselt ülaltoodule kontrollige, kas seal pole pargitud autosid. Muul juhul kuvage pargitud autode numbrimärgid. Selleks kasutage ArrayListis olevate üksuste itereerimiseks ja ükshaaval kuvamiseks for-each tsüklit.
avalikstaatilinetühinevaadeParkedCars(){
kui (availableSlots == totalSlots) {
System.out.println("Pargitud autosid pole.");
tagasi;
}System.out.println("Pargitud autod:");
jaoks (String numbrimärk: parkedCars) {
System.out.println (litsentsiplaat);
}
}
}
Pange see kõik kokku ja teie parkimissüsteem on kasutamiseks valmis.
Näidisväljund parkimisprogrammist
Ülaltoodud koodi käivitamisel palub programm sisestada rajatise parkimiskohtade koguarvu. Sisenedes numbrile 5, annab see võimaluse auto parkida, eemaldada, vaadata kõiki pargitud autosid ja programmist väljuda. Valides 1, palub see sisestada auto numbrimärgi ja vähendab auto parkimisega vaba pesa.
Valides 3. valiku, saate vaadata äsja pargitud auto numbrimärki. Valides 2. variandi ja sisestades numbrimärgi, eemaldab programm auto ja vabad pesad suurenevad ühe võrra.
Muud haldussüsteemid, mida saate luua
Ehitades Java haldussüsteeme, saate teadmisi tarkvaraarenduse, andmebaasihalduse, turvalisuse ja süsteemiintegratsiooni erinevatest aspektidest. Mõned projektid, mida saate uurida, on laohaldussüsteem, mis aitab teil mõista andmete modelleerimist, CRUD-i toiminguid, laoseisu jälgimist ja tellimuste täitmist.
Andmete korraldamise ja kasutaja autentimise õppimiseks saate luua raamatukogu haldussüsteemi. Töötajate või õpilaste haldussüsteemid on väga sarnased ja aitavad teil õppida rollipõhist juurdepääsu juhtimist ja kohaloleku jälgimist.