Leer hoe u ArrayList gebruikt voor deze eenvoudige, praktische app.

Een parkeersysteem is een handige, veilige en ecologisch duurzame methode die een groot deel van het verkeersmanagementprobleem oplost. Een goed ontworpen parkeersysteem kan de verkeersstroom verminderen, de ruimte effectief benutten, inkomsten genereren en een verbeterde gebruikerservaring bieden.

Leer hoe u Java kunt gebruiken om een ​​eenvoudig parkeersysteem te bouwen dat u later kunt ontwerpen en integreren met een database, validaties kunt toevoegen en een grafische gebruikersinterface kunt ontwikkelen voor gebruik in het echte leven.

Hoe een parkeersysteem te bouwen met Java

Hierin vindt u de broncode voor het bouwen van een voertuigparkeersysteem met Java GitHub-opslagplaats.

Voor dit project ga je gebruik maken van ArrayList, een array voor algemene doeleinden die in grootte kan worden aangepast. U kunt toegang krijgen tot elementen met behulp van een index, CRUD-bewerkingen uitvoeren en meer. Om ArrayList te gebruiken

instagram viewer
, moet u de klasse ArrayList importeren uit de Java-standaardbibliotheek. Zo ook voor invoer-uitvoerbewerkingen, importeer de scannerklasse. Definieer een openbare klasse, Voertuigparkeersysteem, om als hoofdklasse te dienen.

Definieer drie statische variabelen: totaalSlots, beschikbaarSlots, En geparkeerde auto's. totalSlots staat voor het totale aantal parkeerplaatsen, terwijl availableSlots bijhoudt hoeveel er nog vrij zijn. geparkeerdCars is een ArrayList die de kentekennummers opslaat van de momenteel geparkeerde auto's.

Definieer de voornaamst() methode en maak een object van de klasse Scanner. Vraag de gebruiker om het totale aantal parkeerplaatsen in te voeren en op te slaan in totalSlots. Aanvankelijk zijn de beschikbare slots gelijk aan het totale aantal slots, dus initialiseer availableSlots met dezelfde waarde als totalSlots.

importeren java.util. ArrayLijst;
importeren java.util. Scanner;

openbaarklasVoertuigparkeersysteem{

statischint totaalSlots, beschikbareSlots;
statisch ArrayLijst geparkeerde auto's = nieuw ArrayLijst();

openbaarstatischleegtevoornaamst(String[] argumenten){

Scannen sc = nieuw Scanner (System.in);
Systeem.uit.println("Voer het totale aantal parkeerplaatsen in de faciliteit in:");
totalSlots = sc.nextInt();
beschikbareSlots = totaalSlots;

Gebruik een while-lus dat loopt voor onbepaalde tijd. Vraag de gebruiker of hij een auto wil parkeren, verwijderen, geparkeerde auto's wil bekijken of het programma wil verlaten. Roep afhankelijk van de keuze de bijbehorende methode aan. Als de gebruiker het programma wil beëindigen, gebruik dan Systeem.uitgang (0) per direct beëindigen.

terwijl (WAAR) {
Systeem.uit.println("\nWat zou je willen doen?");
Systeem.uit.println("1. Parkeer een auto");
Systeem.uit.println("2. Een auto verwijderen");
Systeem.uit.println("3. Bekijk geparkeerde auto's");
Systeem.uit.println("4. Uitgang");
int keuze = sc.nextInt();

schakelaar (keuze) {
geval1:
auto parkeren();
pauze;
geval2:
auto verwijderen();
pauze;
geval3:
bekijkParkedCars();
pauze;
geval4:
Systeem.exit(0);
standaard:
Systeem.uit.println("Ongeldige keuze. Probeer het opnieuw.");
}
}
}

Definieer een openbare statische methode, auto parkeren(), zonder retourtype. Als er geen beschikbare slots zijn, informeer de gebruiker en keer terug. Vraag de gebruiker anders om het kenteken van zijn auto in te voeren en gebruik de toevoegen() methode om het in te voegen in de ArrayList. Verlaag het aantal beschikbare slots met één en laat zien dat het programma de auto heeft geparkeerd samen met het huidige aantal beschikbare slots.

openbaarstatischleegteauto parkeren(){
als (beschikbareSlots == 0) {
Systeem.uit.println("Sorry, er zijn geen beschikbare parkeerplaatsen.");
opbrengst;
}

Scannen sc = nieuw Scanner (System.in);
Systeem.uit.println("Voer het kenteken van de auto in:");
String licentiePlaat = sc.nextLine();
geparkeerde auto's. toevoegen (kenteken);
beschikbaarSlots--;
Systeem.uit.println("Auto is succesvol geparkeerd. De momenteel beschikbare slots zijn: " + beschikbare Slots);
}

Definieer een methode, auto verwijderen(). Als de waarden van het beschikbare en het totale aantal slots overeenkomen, laat dan zien dat er geen geparkeerde auto's zijn en keer terug. Vraag anders de gebruiker om het kenteken van zijn auto. Controleer of het door de gebruiker ingevoerde kenteken aanwezig is in de ArrayList met behulp van bevat().

Gebruik bij succes de verwijderen() methode om het uit de ArrayList te halen en de beschikbare slots met één te verhogen. Geef het bericht weer dat het programma de auto heeft verwijderd, samen met het huidige aantal beschikbare slots. Als u het kenteken niet kunt vinden, laat dan zien dat er geen dergelijke auto in de faciliteit geparkeerd staat.

openbaarstatischleegteauto verwijderen(){
als (availableSlots == totalSlots) {
Systeem.uit.println("Er staan ​​geen geparkeerde auto's.");
opbrengst;
}

Scannen sc = nieuw Scanner (System.in);
Systeem.uit.println("Voer het kenteken van de te verwijderen auto in:");
String licentiePlaat = sc.nextLine();

als (parkedCars.contains (kenteken)) {
geparkeerde auto's. verwijderen (kenteken);
beschikbaarSlots++;
Systeem.uit.println("Auto succesvol verwijderd. De momenteel beschikbare slots zijn: " + beschikbare Slots);
} anders {
Systeem.uit.println("De auto staat hier niet geparkeerd.");
}
}

Definieer een methode, bekijkParkedCars(). Controleer net als hierboven of er geen geparkeerde auto's zijn. Geef anders de kentekens van de geparkeerde auto's weer. Om dit te doen, gebruikt u een for-each-lus om de items in de ArrayList te herhalen en ze één voor één weer te geven.

openbaarstatischleegtebekijkParkedCars(){
als (availableSlots == totalSlots) {
Systeem.uit.println("Er staan ​​geen geparkeerde auto's.");
opbrengst;
}

Systeem.uit.println("Geparkeerde auto's:");

voor (String kentekenplaat: geparkeerde auto's) {
Systeem.uit.println (kenteken);
}
}
}

Zet alles in elkaar en uw parkeersysteem is klaar voor gebruik.

Voorbeelduitvoer van het parkeerprogramma

Bij het uitvoeren van de bovenstaande code vraagt ​​het programma om het totale aantal parkeerplaatsen van de faciliteit in te voeren. Bij het invoeren van 5 geeft het de mogelijkheid om een ​​auto te parkeren, deze te verwijderen, alle geparkeerde auto's te bekijken en het programma te verlaten. Bij het kiezen van optie 1 wordt gevraagd om het kenteken van de auto in te voeren en wordt een beschikbare plaats verminderd door deze te parkeren.

Bij het kiezen van optie 3 kunt u het kenteken van de zojuist geparkeerde auto bekijken. Bij het kiezen van optie 2 en het invoeren van het kenteken, verwijdert het programma de auto en worden de beschikbare slots met één verhoogd.

Andere beheersystemen die u kunt bouwen

Door beheersystemen in Java te bouwen, verkrijgt u expertise in verschillende aspecten van softwareontwikkeling, databasebeheer, beveiliging en systeemintegratie. Een paar van de projecten die u kunt verkennen, zijn het voorraadbeheersysteem dat u helpt inzicht te krijgen in gegevensmodellering, CRUD-bewerkingen, voorraadtracering en orderafhandeling.

U kunt een bibliotheekbeheersysteem bouwen om gegevensorganisatie en gebruikersauthenticatie te leren. Beheersystemen voor werknemers of studenten lijken erg op elkaar en kunnen u helpen bij het leren van op rollen gebaseerde toegangscontrole en aanwezigheidsregistratie.