Lär dig hur du använder ArrayList för denna enkla, praktiska app.

Ett parkeringssystem är en bekväm, säker och miljömässigt hållbar metod som löser en stor del av trafikledningsfrågan. Ett väldesignat parkeringssystem kan minska trafikflödet, effektivt utnyttja utrymmet, generera intäkter och ge en förbättrad användarupplevelse.

Lär dig hur du kan använda Java för att bygga ett enkelt parkeringssystem som du senare kan designa och integrera med en databas, lägga till valideringar och utveckla ett grafiskt användargränssnitt att använda i verkligheten.

Hur man bygger ett parkeringssystem med Java

Du kan hitta källkoden för att bygga ett fordonsparkeringssystem med Java i denna GitHub-förråd.

För det här projektet kommer du att använda ArrayList som är en allmänt användbar array som kan ändra storlek. Du kan komma åt element med hjälp av ett index, utföra CRUD-operationer och mer. För att använda ArrayListmåste du importera ArrayList-klassen från Java-standardbiblioteket. På samma sätt, för

instagram viewer
input-output-operationer, importera klassen Scanner. Definiera en offentlig klass, Fordonsparkeringssystem, att fungera som huvudklassen.

Definiera tre statiska variabler: totaltSlots, tillgängliga Slots, och parkerade bilar. totalSlots representerar det totala antalet parkeringsplatser, medan availableSlots håller reda på hur många som är lediga. parkedCars är en ArrayList som lagrar registreringsskyltnumren för de bilar som för närvarande är parkerade.

Definiera main() och skapa ett objekt av klassen Scanner. Be användaren att ange det totala antalet parkeringsplatser och lagra det i totalSlots. Inledningsvis är de tillgängliga platserna lika med det totala antalet slots så initiera tillgängliga slots till samma värde som totalslots.

importera java.util. ArrayList;
importera java.util. Scanner;

offentligklassFordonsparkeringssystem{

statiskint totalSlots, tillgängligaSlots;
statisk ArrayList parkerade Bilar = ny ArrayList();

offentligstatisktomhethuvud(String[] args){

Scanner sc = ny Skanner (System.in);
System.out.println("Ange det totala antalet parkeringsplatser i anläggningen:");
totalSlots = sc.nextInt();
tillgängligaSlots = totalSlots;

Använd en while-loop som löper på obestämd tid. Fråga användaren om de vill parkera en bil, ta bort den, se parkerade bilar eller avsluta programmet. Beroende på valet, ring motsvarande metod. Om användaren vill avsluta programmet, använd System.exit (0) att avsluta omedelbart.

medan (Sann) {
System.out.println("\n Vad skulle du vilja göra?");
System.out.println("1. Parkera en bil");
System.out.println("2. Ta bort en bil");
System.out.println("3. Se parkerade bilar");
System.out.println("4. Utgång");
int choice = sc.nextInt();

växla (val) {
fall1:
parkCar();
ha sönder;
fall2:
removeCar();
ha sönder;
fall3:
viewParkedCars();
ha sönder;
fall4:
System.exit(0);
standard:
System.out.println("Ogiltigt val. Var god försök igen.");
}
}
}

Definiera en offentlig statisk metod, parkCar(), utan returtyp. Om det inte finns några lediga platser, informera användaren och återvänd. Annars, be användaren att ange registreringsskyltnumret på sin bil och använda Lägg till() metod för att infoga den i ArrayList. Minska antalet tillgängliga platser med en och visa att programmet parkerade bilen tillsammans med det aktuella antalet tillgängliga platser.

offentligstatisktomhetparkCar(){
om (tillgängligaSlots == 0) {
System.out.println("Tyvärr, det finns inga tillgängliga parkeringsplatser.");
lämna tillbaka;
}

Scanner sc = ny Skanner (System.in);
System.out.println("Ange bilens registreringsnummer:");
String licensePlate = sc.nextLine();
parkedCars.add (licensePlate);
tillgängligaSlots--;
System.out.println("Bilen har parkerats framgångsrikt. De nuvarande tillgängliga platserna är: " + tillgängliga Slots);
}

Definiera en metod, removeCar(). Om värdena för det tillgängliga och det totala antalet platser matchar, visa att det inte finns några parkerade bilar och återvänd. Fråga annars användaren om registreringsnummer för sin bil. Kontrollera om registreringsskyltnumret som angetts av användaren finns i ArrayList med innehåller().

Om det lyckas, använd avlägsna() metod för att ta ut den från ArrayList och öka de tillgängliga platserna med en. Visa meddelandet att programmet har tagit bort bilen tillsammans med det aktuella antalet tillgängliga platser. Om du inte hittar registreringsnumret, visa att det inte finns någon sådan bil parkerad i anläggningen.

offentligstatisktomhetta bort bil(){
om (availableSlots == totalSlots) {
System.out.println("Det finns inga parkerade bilar.");
lämna tillbaka;
}

Scanner sc = ny Skanner (System.in);
System.out.println("Ange registreringsnummer för bilen som ska tas bort:");
String licensePlate = sc.nextLine();

om (parkedCars.contains (licensePlate)) {
parkedCars.remove (licensePlate);
tillgängligaSlots++;
System.out.println("Bilen har tagits bort. De nuvarande tillgängliga platserna är: " + tillgängliga Slots);
} annan {
System.out.println("Bilen står inte parkerad här.");
}
}

Definiera en metod, viewParkedCars(). I likhet med ovan, kontrollera om det inte finns några parkerade bilar. I annat fall, visa registreringsskyltarna för de parkerade bilarna. För att göra detta, använd en för varje slinga för att iterera över objekten i ArrayList och visa dem en efter en.

offentligstatisktomhetviewParkedCars(){
om (availableSlots == totalSlots) {
System.out.println("Det finns inga parkerade bilar.");
lämna tillbaka;
}

System.out.println("Parkerade bilar:");

för (String licensePlate: parkedCars) {
System.out.println (licensskylt);
}
}
}

Sätt ihop allt och ditt parkeringssystem är redo att användas.

Exempel på utdata från parkeringsprogrammet

När koden ovan körs, ber programmet att ange anläggningens totala antal parkeringsplatser. När du går in på 5 ger den möjlighet att parkera en bil, ta bort den, se alla parkerade bilar och avsluta programmet. När du väljer alternativ 1 ber den att ange bilens registreringsnummer och minskar en ledig plats genom att parkera den.

När du väljer alternativ 3 kan du se registreringsskyltnumret för bilen du just parkerade. När du väljer alternativ 2 och anger registreringsnummer tar programmet bort bilen och de tillgängliga platserna ökar med en.

Andra ledningssystem du kan bygga

Genom att bygga ledningssystem i Java får du expertis inom olika aspekter av mjukvaruutveckling, databashantering, säkerhet och systemintegration. Några av de projekt du kan utforska är lagerhanteringssystemet som hjälper dig att förstå datamodellering, CRUD-operationer, lagerspårning och orderuppfyllelse.

Du kan bygga ett bibliotekshanteringssystem för att lära dig dataorganisation och användarautentisering. Anställda eller studenthanteringssystem är väldigt lika och kan hjälpa dig att lära dig rollbaserad åtkomstkontroll och närvarospårning.