Naučte se používat ArrayList pro tuto jednoduchou a praktickou aplikaci.
Parkovací systém je pohodlný, bezpečný a ekologicky udržitelný způsob, který řeší velkou část problému řízení dopravy. Dobře navržený parkovací systém může snížit tok dopravy, efektivně využít prostor, generovat příjmy a poskytnout lepší uživatelský zážitek.
Naučte se, jak můžete pomocí Javy vytvořit jednoduchý parkovací systém, který můžete později navrhnout a integrovat s databází, přidat ověření a vyvinout grafické uživatelské rozhraní pro použití v reálném životě.
Jak vytvořit parkovací systém pomocí Javy
Zdrojový kód pro vybudování systému parkování vozidel pomocí Javy najdete v tomto úložiště GitHub.
Pro tento projekt využijete ArrayList, což je univerzální pole s měnitelnou velikostí. K prvkům můžete přistupovat pomocí indexu, provádět operace CRUD a další. Chcete-li použít ArrayList, musíte importovat třídu ArrayList ze standardní knihovny Java. Podobně pro vstupně-výstupní operace importujte třídu Scanner. Definujte veřejnou třídu, VehicleParkingSystem, sloužit jako hlavní třída.
Definujte tři statické proměnné: totalSlots, dostupnéSloty, a zaparkovaná auta. totalSlots představuje celkový počet parkovacích míst, zatímco availableSlots sleduje, kolik jich zůstává volných. parkedCars je ArrayList, který ukládá čísla SPZ aktuálně zaparkovaných aut.
Definujte hlavní() a vytvořte objekt třídy Scanner. Požádejte uživatele, aby zadal celkový počet parkovacích míst a uložil jej do totalSlots. Zpočátku se dostupné sloty rovnají celkovému počtu slotů, takže dostupné sloty inicializujte na stejnou hodnotu jako totalSlots.
import java.util. ArrayList;
import java.util. Skener;veřejnosttřídaVehicleParkingSystem{
statickýint totalSlots, availableSlots;
statický ArrayListzaparkovaná auta = Nový ArrayList (); veřejnoststatickýprázdnotahlavní(Řetězec[] argumentů){
Skener sc = Nový Skener (System.in);
System.out.println("Zadejte celkový počet parkovacích míst v objektu:");
totalSlots = sc.nextInt();
availableSlots = totalSlots;
Použijte smyčku while která běží neomezeně dlouho. Zeptejte se uživatele, zda chce zaparkovat auto, odstranit jej, zobrazit zaparkovaná auta nebo ukončit program. V závislosti na volbě zavolejte odpovídající metodu. Pokud by uživatel chtěl program ukončit, použijte System.exit (0) okamžitě ukončit.
zatímco (skutečný) {
System.out.println("\n Co byste chtěli dělat?");
System.out.println("1. Zaparkuj auto");
System.out.println("2. Odstraňte auto");
System.out.println("3. Zobrazit zaparkovaná auta");
System.out.println("4. Výstup");
int volba = sc.nextInt();
přepínač (výběr) {
pouzdro1:
parkCar();
přestávka;
pouzdro2:
removeCar();
přestávka;
pouzdro3:
viewParkedCars();
přestávka;
pouzdro4:
System.exit(0);
výchozí:
System.out.println(„Neplatná volba. Prosím zkuste to znovu.");
}
}
}
Definujte veřejnou statickou metodu, parkCar(),bez návratového typu. Pokud nejsou volné sloty, informujte uživatele a vraťte se. V opačném případě požádejte uživatele, aby zadal SPZ svého vozu a použil přidat() metoda pro jeho vložení do ArrayList. Snižte počet dostupných slotů o jeden a zobrazí se, že program zaparkoval vůz spolu s aktuálním počtem volných slotů.
veřejnoststatickýprázdnotaparkCar(){
-li (dostupné sloty == 0) {
System.out.println("Je nám líto, ale nejsou k dispozici žádná parkovací místa.");
vrátit se;
}
Skener sc = Nový Skener (System.in);
System.out.println("Zadejte SPZ auta:");
Řetězec licensePlate = sc.nextLine();
parkedCars.add (licencePlate);
dostupnéSloty--;
System.out.println(„Auto je úspěšně zaparkováno. Aktuálně dostupné sloty jsou: " + dostupné sloty);
}
Definujte metodu, odstranit auto(). Pokud se hodnoty dostupného a celkového počtu slotů shodují, zobrazte, že zde nejsou zaparkovaná auta, a vraťte se. V opačném případě požádejte uživatele o SPZ jeho vozu. Zkontrolujte, zda se číslo SPZ zadané uživatelem nachází v ArrayList using obsahuje().
V případě úspěchu použijte odstranit() způsob, jak jej vyjmout z ArrayList a zvýšit dostupné sloty o jeden. Zobrazte zprávu, že program odstranil auto spolu s aktuálním počtem dostupných slotů. V případě, že SPZ nenajdete, ukažte, že v objektu žádný takový vůz neparkuje.
veřejnoststatickýprázdnotaodstranitAuto(){
-li (availableSlots == totalSlots) {
System.out.println("Neexistují žádná zaparkovaná auta.");
vrátit se;
}Skener sc = Nový Skener (System.in);
System.out.println("Zadejte SPZ auta, které chcete odstranit:");
Řetězec licensePlate = sc.nextLine();
-li (parkedCars.contains (licencePlate)) {
parkedCars.remove (licencePlate);
availableSlots++;
System.out.println(„Auto bylo úspěšně odstraněno. Aktuálně dostupné sloty jsou: " + dostupné sloty);
} jiný {
System.out.println("Auto tady neparkuje.");
}
}
Definujte metodu, viewParkedCars(). Podobně jako výše zkontrolujte, zda zde nejsou zaparkovaná auta. V opačném případě zobrazte registrační značky zaparkovaných vozů. Chcete-li to provést, použijte cyklus for-each k iteraci položek v ArrayList a jejich zobrazení jednu po druhé.
veřejnoststatickýprázdnotazobrazitParkedCars(){
-li (availableSlots == totalSlots) {
System.out.println("Neexistují žádná zaparkovaná auta.");
vrátit se;
}System.out.println("Zaparkovaná auta:");
pro (Řetězec LicencePlate: parkedCars) {
System.out.println (licencePlate);
}
}
}
Dejte to všechno dohromady a váš parkovací systém je připraven k použití.
Příklad výstupu z programu parkování
Při spuštění výše uvedeného kódu vás program požádá o zadání celkového počtu parkovacích míst v objektu. Po zadání 5 dává možnost zaparkovat auto, odstranit jej, zobrazit všechna zaparkovaná auta a ukončit program. Při výběru možnosti 1 požádá o zadání poznávací značky vozu a zmenší volné místo zaparkováním.
Při výběru možnosti 3 můžete zobrazit poznávací značku vozu, který jste právě zaparkovali. Při výběru možnosti 2 a zadání SPZ program odstraní auto a počet volných míst se zvýší o jeden.
Další systémy správy, které můžete vytvořit
Vybudováním systémů správy v Javě získáte odborné znalosti v různých aspektech vývoje softwaru, správy databází, bezpečnosti a systémové integrace. Několik projektů, které můžete prozkoumat, je systém řízení zásob, který vám pomůže pochopit datové modelování, operace CRUD, sledování zásob a plnění objednávek.
Můžete sestavit systém správy knihoven, abyste se naučili organizaci dat a autentizaci uživatelů. Systémy pro správu zaměstnanců nebo studentů jsou velmi podobné a mohou vám pomoci naučit se řízení přístupu na základě rolí a sledování docházky.