Lær hvordan du bruker ArrayList for denne enkle, praktiske appen.
Et parkeringssystem er en praktisk, sikker og miljømessig bærekraftig metode som løser en stor del av trafikkstyringsproblemet. Et godt designet parkeringssystem kan redusere trafikkflyten, effektivt utnytte plassen, generere inntekter og gi en forbedret brukeropplevelse.
Lær hvordan du kan bruke Java til å bygge et enkelt parkeringssystem som du senere kan designe og integrere med en database, legge til valideringer og utvikle et grafisk brukergrensesnitt for bruk i det virkelige liv.
Hvordan bygge et parkeringssystem ved hjelp av Java
Du kan finne kildekoden for å bygge et kjøretøyparkeringssystem ved hjelp av Java i denne GitHub-depot.
For dette prosjektet skal du bruke ArrayList som er en generell array som kan endre størrelsen. Du kan få tilgang til elementer ved å bruke en indeks, utføre CRUD-operasjoner og mer. For å bruke ArrayList, må du importere ArrayList-klassen fra Java-standardbiblioteket. Tilsvarende for input-output operasjoner, importer skannerklassen
. Definer en offentlig klasse, Kjøretøyparkeringssystem, for å tjene som hovedklassen.Definer tre statiske variabler: totaltSlots, tilgjengelige spilleautomater, og parkerte biler. totalSlots representerer det totale antallet parkeringsplasser, mens availableSlots holder styr på hvor mange som er ledige. parkedCars er en ArrayList som lagrer skiltnummerene til bilene som for øyeblikket er parkert.
Definer hoved() metoden og opprette et objekt av Scanner-klassen. Be brukeren angi det totale antallet parkeringsplasser og lagre det i totalSlots. Til å begynne med er de tilgjengelige sporene lik det totale antallet spor, så initialiser tilgjengelige spor til samme verdi som totalslots.
import java.util. ArrayList;
import java.util. skanner;offentligklasseKjøretøyparkeringssystem{
statiskint totalSlots, availableSlots;
statisk ArrayListparkerte Biler = ny ArrayList (); offentligstatisktomromhoved-(String[] args){
Skanner sc = ny Skanner (System.in);
System.out.println("Skriv inn totalt antall parkeringsplasser i anlegget:");
totalSlots = sc.nextInt();
availableSlots = totalSlots;
Bruk en while-løkke som går på ubestemt tid. Spør brukeren om de vil parkere en bil, fjerne den, se på parkerte biler eller avslutte programmet. Avhengig av valget, ring den tilsvarende metoden. Hvis brukeren ønsker å avslutte programmet, bruk System.exit (0) å avslutte umiddelbart.
samtidig som (ekte) {
System.out.println("\n Hva vil du gjøre?");
System.out.println("1. Parker en bil");
System.out.println("2. Fjern en bil");
System.out.println("3. Se parkerte biler");
System.out.println("4. Exit");
int valg = sc.nextInt();
bytte om (valg) {
sak1:
parkCar();
gå i stykker;
sak2:
removeCar();
gå i stykker;
sak3:
viewParkedCars();
gå i stykker;
sak4:
System.exit(0);
misligholde:
System.out.println("Ugyldig valg. Vær så snill, prøv på nytt.");
}
}
}
Definer en offentlig statisk metode, parkCar(), uten returtype. Hvis det ikke er ledige plasser, informer brukeren og returner. Ellers ber du brukeren om å skrive inn bilnummeret til bilen og bruke Legg til() metode for å sette den inn i ArrayList. Reduser antall tilgjengelige plasser med én og vis at programmet parkerte bilen sammen med gjeldende antall tilgjengelige plasser.
offentligstatisktomromparkCar(){
hvis (availableSlots == 0) {
System.out.println("Beklager, det er ingen tilgjengelige parkeringsplasser.");
komme tilbake;
}
Skanner sc = ny Skanner (System.in);
System.out.println("Skriv inn skiltnummeret til bilen:");
String licensePlate = sc.nextLine();
parkedCars.add (lisensskilt);
tilgjengeligeSlots--;
System.out.println("Bilen er parkert vellykket. De gjeldende tilgjengelige sporene er: " + tilgjengelige spilleautomater);
}
Definer en metode, removeCar(). Hvis verdiene for tilgjengelig og totalt antall spilleautomater samsvarer, vis at det ikke er noen parkerte biler og returner. Ellers spør brukeren om skiltnummeret til bilen deres. Sjekk om registreringsnummeret angitt av brukeren finnes i ArrayList ved hjelp av inneholder().
Hvis vellykket, bruk fjerne() metode for å ta den ut av ArrayList og øke de tilgjengelige sporene med én. Vis meldingen om at programmet har fjernet bilen sammen med gjeldende antall tilgjengelige plasser. I tilfelle du ikke finner skiltnummeret, vis at det ikke er noen slik bil parkert i anlegget.
offentligstatisktomromfjerne bil(){
hvis (availableSlots == totalSlots) {
System.out.println(— Det er ingen parkerte biler.);
komme tilbake;
}Skanner sc = ny Skanner (System.in);
System.out.println("Skriv inn skiltnummeret til bilen som skal fjernes:");
String licensePlate = sc.nextLine();
hvis (parkedCars.contains (lisensskilt)) {
parkedCars.remove (lisensskilt);
tilgjengeligeSlots++;
System.out.println("Bilen ble fjernet. De gjeldende tilgjengelige sporene er: " + tilgjengelige spilleautomater);
} ellers {
System.out.println(— Bilen står ikke parkert her.);
}
}
Definer en metode, viewParkedCars(). I likhet med ovenstående, sjekk om det ikke er parkerte biler. Vis ellers skiltnummerene til de parkerte bilene. For å gjøre dette, bruk en for-hver-løkke for å iterere over elementene i ArrayList og vise dem én etter én.
offentligstatisktomromviewParkedCars(){
hvis (availableSlots == totalSlots) {
System.out.println(— Det er ingen parkerte biler.);
komme tilbake;
}System.out.println("Parkerte biler:");
til (Lyseskilt: parkerte biler) {
System.out.println (lisensskilt);
}
}
}
Sett alt sammen og parkeringssystemet ditt er klart til bruk.
Eksempelutgang fra parkeringsprogrammet
Når du kjører koden ovenfor, ber programmet om å angi anleggets totale antall parkeringsplasser. Når du går inn i 5, gir den muligheten til å parkere en bil, fjerne den, se alle de parkerte bilene og avslutte programmet. Når du velger alternativ 1, ber den om å angi bilens skiltnummer og reduserer en ledig plass ved å parkere den.
Ved å velge alternativ 3 kan du se registreringsnummeret til bilen du nettopp har parkert. Ved å velge alternativ 2 og taste inn registreringsnummeret, fjerner programmet bilen og de tilgjengelige plassene øker med én.
Andre styringssystemer du kan bygge
Ved å bygge styringssystemer i Java får du ekspertise innen ulike aspekter av programvareutvikling, databaseadministrasjon, sikkerhet og systemintegrasjon. Noen av prosjektene du kan utforske er lagerstyringssystemet som hjelper deg med å forstå datamodellering, CRUD-operasjoner, lagersporing og ordreoppfyllelse.
Du kan bygge et bibliotekadministrasjonssystem for å lære dataorganisering og brukerautentisering. Ansatt- eller studentadministrasjonssystemer er veldig like og kan hjelpe deg med å lære rollebasert tilgangskontroll og oppmøtesporing.