Lær, hvordan du bruger ArrayList til denne enkle, praktiske app.
Et parkeringssystem er en bekvem, sikker og miljømæssigt bæredygtig metode, der løser en stor del af trafikstyringsproblematikken. Et veldesignet parkeringssystem kan reducere trafikafviklingen, effektivt udnytte pladsen, generere indtægter og give en forbedret brugeroplevelse.
Lær, hvordan du kan bruge Java til at bygge et simpelt parkeringssystem, som du senere kan designe og integrere med en database, tilføje valideringer og udvikle en grafisk brugergrænseflade til brug i det virkelige liv.
Sådan bygger du et parkeringssystem ved hjælp af Java
Du kan finde kildekoden til at bygge et bilparkeringssystem ved hjælp af Java i denne GitHub-depot.
Til dette projekt skal du bruge ArrayList, som er et array til generelle formål, der kan ændres. Du kan få adgang til elementer ved hjælp af et indeks, udføre CRUD-operationer og mere. For at bruge ArrayList, skal du importere ArrayList-klassen fra Java-standardbiblioteket. Tilsvarende for
input-output operationer, importer Scanner-klassen. Definer en offentlig klasse, Køretøjsparkeringssystem, at tjene som hovedklassen.Definer tre statiske variable: totalSlots, tilgængelige Slots, og parkerede biler. totalSlots repræsenterer det samlede antal parkeringspladser, mens availableSlots holder styr på, hvor mange der er ledige. parkedCars er en ArrayList, der gemmer nummerpladenumrene på de biler, der i øjeblikket er parkeret.
Definer hoved() metode og opret et objekt af Scanner-klassen. Bed brugeren om at indtaste det samlede antal parkeringspladser og gemme det i totalSlots. Til at begynde med er de tilgængelige slots lig med det samlede antal slots, så initialiser tilgængelige slots til samme værdi som totalSlots.
importere java.util. ArrayList;
importere java.util. Scanner;offentligklasseKøretøjsparkeringssystem{
statiskint totalSlots, tilgængeligeSlots;
statisk ArrayListparkeredeBiler = ny ArrayList (); offentligstatiskugyldigvigtigste(String[] args){
Scanner sc = ny Scanner (System.in);
System.out.println("Indtast det samlede antal parkeringspladser i anlægget:");
totalSlots = sc.nextInt();
availableSlots = totalSlots;
Brug en while-løkke der kører på ubestemt tid. Spørg brugeren, om de vil parkere en bil, fjerne den, se parkerede biler eller afslutte programmet. Afhængigt af valget skal du kalde den tilsvarende metode. Hvis brugeren ønsker at afslutte programmet, brug System.exit (0) at opsige øjeblikkeligt.
mens (rigtigt) {
System.out.println("\n Hvad vil du gerne lave?");
System.out.println("1. Parker en bil");
System.out.println("2. Fjern en bil");
System.out.println("3. Se parkerede biler");
System.out.println("4. Afslut");
int valg = sc.nextInt();
kontakt (valg) {
sag1:
parkCar();
pause;
sag2:
removeCar();
pause;
sag3:
viewParkedCars();
pause;
sag4:
System.exit(0);
Standard:
System.out.println("Ugyldigt valg. Prøv igen.");
}
}
}
Definer en offentlig statisk metode, parkCar()uden returtype. Hvis der ikke er ledige pladser, skal du informere brugeren og returnere. Ellers skal du bede brugeren om at indtaste nummerpladenummeret på sin bil og bruge tilføje() metode til at indsætte det i ArrayList. Reducer antallet af tilgængelige pladser med én, og vis, at programmet har parkeret bilen sammen med det aktuelle antal ledige pladser.
offentligstatiskugyldigparkCar(){
hvis (tilgængeligeSlots == 0) {
System.out.println("Beklager, der er ingen ledige parkeringspladser.");
Vend tilbage;
}
Scanner sc = ny Scanner (System.in);
System.out.println("Indtast bilens nummerpladenummer:");
String licensePlate = sc.nextLine();
parkedCars.add (nummerplade);
tilgængeligeSlots--;
System.out.println("Bilen er parkeret med succes. De nuværende tilgængelige slots er: " + tilgængelige Slots);
}
Definer en metode, removeCar(). Hvis værdierne for det tilgængelige og det samlede antal slots stemmer overens, skal du vise, at der ikke er nogen parkerede biler, og returnere. Ellers skal du spørge brugeren om nummerpladenummeret på deres bil. Kontroller, om nummerpladenummeret, der er indtastet af brugeren, findes i ArrayList ved hjælp af indeholder().
Hvis det lykkes, skal du bruge fjerne() metode til at tage den ud af ArrayList og øge de tilgængelige slots med én. Vis meddelelsen om, at programmet har fjernet bilen sammen med det aktuelle antal ledige pladser. Hvis du ikke kan finde nummerpladen, skal du vise, at der ikke er en sådan bil parkeret i anlægget.
offentligstatiskugyldigfjerne bil(){
hvis (availableSlots == totalSlots) {
System.out.println("Der er ingen parkerede biler.");
Vend tilbage;
}Scanner sc = ny Scanner (System.in);
System.out.println("Indtast nummerpladenummeret på den bil, der skal fjernes:");
String licensePlate = sc.nextLine();
hvis (parkedCars.contains (nummerplade)) {
parkedCars.remove (nummerplade);
tilgængeligeSlots++;
System.out.println("Bil blev fjernet. De nuværende tilgængelige slots er: " + tilgængelige Slots);
} andet {
System.out.println("Bilen er ikke parkeret her.");
}
}
Definer en metode, viewParkedCars(). I lighed med ovenstående skal du kontrollere, om der ikke er parkerede biler. Ellers skal du vise nummerpladenumrene på de parkerede biler. For at gøre dette skal du bruge en for-hver-løkke til at iterere over elementerne i ArrayList og vise dem én efter én.
offentligstatiskugyldigviewParkedCars(){
hvis (availableSlots == totalSlots) {
System.out.println("Der er ingen parkerede biler.");
Vend tilbage;
}System.out.println("Parkerede biler:");
til (String licensplade: parkerede biler) {
System.out.println (licensplade);
}
}
}
Sæt det hele sammen, og dit parkeringssystem er klar til brug.
Eksempel på output fra parkeringsprogrammet
Når du kører ovenstående kode, beder programmet om at indtaste anlæggets samlede antal parkeringspladser. Ved indtastning af 5 giver den mulighed for at parkere en bil, fjerne den, se alle de parkerede biler og afslutte programmet. Når du vælger mulighed 1, beder den om at indtaste bilens nummerplade og reducerer en ledig plads ved at parkere den.
Når du vælger mulighed 3, kan du se nummerpladenummeret på den bil, du lige har parkeret. Når du vælger mulighed 2 og indtaster nummerpladenummeret, fjerner programmet bilen, og de tilgængelige pladser øges med én.
Andre ledelsessystemer, du kan bygge
Ved at bygge ledelsessystemer i Java får du ekspertise i forskellige aspekter af softwareudvikling, databasestyring, sikkerhed og systemintegration. Et par af de projekter, du kan udforske, er lagerstyringssystemet, der hjælper dig med at forstå datamodellering, CRUD-operationer, lagersporing og ordreopfyldelse.
Du kan bygge et biblioteksadministrationssystem for at lære dataorganisering og brugergodkendelse. Medarbejder- eller elevadministrationssystemer er meget ens og kan hjælpe dig med at lære rollebaseret adgangskontrol og tilstedeværelsessporing.