Bu basit, pratik uygulama için ArrayList'i nasıl kullanacağınızı öğrenin.

Bir park sistemi, trafik yönetimi sorununun büyük bir kısmını çözen uygun, güvenli ve çevresel açıdan sürdürülebilir bir yöntemdir. İyi tasarlanmış bir park sistemi, trafik akışını azaltabilir, alanı verimli bir şekilde kullanabilir, gelir elde edebilir ve gelişmiş bir kullanıcı deneyimi sağlayabilir.

Daha sonra tasarlayıp bir veritabanıyla bütünleştirebileceğiniz, doğrulamalar ekleyebileceğiniz ve gerçek hayatta kullanmak üzere bir grafik kullanıcı arabirimi geliştirebileceğiniz basit bir park sistemi oluşturmak için Java'yı nasıl kullanabileceğinizi öğrenin.

Java Kullanarak Bir Otopark Sistemi Nasıl Kurulur?

Java kullanarak bir araç park sistemi oluşturmak için kaynak kodunu burada bulabilirsiniz. GitHub deposu.

Bu proje için genel amaçlı, yeniden boyutlandırılabilir bir dizi olan ArrayList'i kullanacaksınız. Dizin kullanarak öğelere erişebilir, CRUD işlemleri gerçekleştirebilir ve daha fazlasını yapabilirsiniz. ArrayList'i kullanmak için

instagram viewer
, Java standart kitaplığından ArrayList sınıfını içe aktarmanız gerekir. Benzer şekilde, için giriş-çıkış işlemleri, Scanner sınıfını içe aktarın. Bir genel sınıf tanımlayın, AraçPark Sistemi, ana sınıf olarak hizmet etmek.

Üç statik değişken tanımlayın: toplamSlots, kullanılabilir alanlar, Ve park edilmişarabalar. totalSlots, toplam park yeri sayısını temsil ederken, availableSlots kaç tanesinin boş kaldığını takip eder. parkedCars, o anda park edilmiş arabaların plaka numaralarını saklayan bir Dizi Listesidir.

tanımla ana() yöntemini seçin ve Scanner sınıfından bir nesne oluşturun. Kullanıcıdan toplam park yeri sayısını girmesini ve bunu totalSlots'ta saklamasını isteyin. Başlangıçta, kullanılabilir yuvalar toplam yuvalara eşittir, bu nedenle mevcutSlots'u totalSlots ile aynı değere sıfırlayın.

içe aktarmak java.util. Dizi Listesi;
içe aktarmak java.util. Tarayıcı;

halksınıfAraçPark Sistemi{

statikint toplam Yuva, mevcut Yuva;
statik Dizi Listesi park edilmiş Arabalar = yeni Dizi Listesi();

halkstatikgeçersizana(Dize[] bağımsız değişkenler){

tarayıcı sc = yeni Tarayıcı (System.in);
System.out.println("Tesisteki toplam park yeri sayısını giriniz:");
totalSlots = sc.nextInt();
kullanılabilirSlots = toplamSlots;

Bir süre döngüsü kullanın süresiz çalışır. Kullanıcıya bir arabayı park etmek mi, kaldırmak mı, park etmiş arabaları görüntülemek mi yoksa programdan çıkmak mı istediğini sorun. Seçime bağlı olarak ilgili yöntemi çağırın. Kullanıcı programı sonlandırmak isterse, şunu kullanın: Sistem.çıkış (0) derhal sonlandırmak için.

sırasında (doğru) {
System.out.println("\n Ne yapmak istersin?");
System.out.println("1. Bir araba park et");
System.out.println("2. Bir arabayı kaldır");
System.out.println("3. Park edilmiş arabaları görüntüle");
System.out.println("4. Çıkış");
int seçim = sc.nextInt();

anahtar (seçenek) {
dava1:
parkAraba();
kırmak;
dava2:
arabayı kaldır();
kırmak;
dava3:
viewParkedCars();
kırmak;
dava4:
Sistem.çıkış(0);
varsayılan:
System.out.println("Geçersiz seçim. Lütfen tekrar deneyin.");
}
}
}

Bir genel statik yöntem tanımlayın, parkAraba(),dönüş türü yok. Kullanılabilir yuva yoksa, kullanıcıyı bilgilendirin ve geri dönün. Aksi takdirde, kullanıcıdan arabasının plaka numarasını girmesini isteyin ve eklemek() ArrayList'e eklemek için yöntem. Kullanılabilir yuva sayısını bir azaltın ve programın mevcut boş yuva sayısıyla birlikte aracı park ettiğini görüntüleyin.

halkstatikgeçersizparkAraba(){
eğer (mevcutYuvalar == 0) {
System.out.println("Üzgünüm, boş park yeri yok.");
geri dönmek;
}

tarayıcı sc = yeni Tarayıcı (System.in);
System.out.println("Aracın plaka numarasını giriniz:");
Dizi lisansPlate = sc.nextLine();
parkedCars.add (licensePlate);
kullanılabilir alanlar--;
System.out.println("Araba başarıyla park edildi. Mevcut mevcut yuvalar: " + mevcutYuvalar);
}

Bir yöntem tanımlayın, arabayı kaldır(). Mevcut ve toplam slot sayısı değerleri eşleşirse, park edilmiş araba olmadığını gösterip geri dönün. Aksi takdirde, kullanıcıdan arabasının plaka numarasını isteyin. Kullanarak kullanıcı tarafından girilen plaka numarasının ArrayList'te olup olmadığını kontrol edin. içerir().

Başarılı olursa, kaldırmak() ArrayList'ten çıkarmak ve mevcut yuvaları birer birer artırmak için bir yöntem. Programın, mevcut mevcut yuva sayısıyla birlikte arabayı kaldırdığı mesajını görüntüleyin. Plaka numarasını bulamamanız durumunda tesiste park edilmiş böyle bir araç olmadığını gösterin.

halkstatikgeçersizkaldırAraba(){
eğer (mevcutSlots == totalSlots) {
System.out.println("Park etmiş araba yok.");
geri dönmek;
}

tarayıcı sc = yeni Tarayıcı (System.in);
System.out.println("Kaldırılacak aracın plaka numarasını giriniz:");
Dizi lisansPlate = sc.nextLine();

eğer (parkedCars.contains (licensePlate)) {
parkedCars.remove (licensePlate);
kullanılabilirYuvalar++;
System.out.println("Araba başarıyla kaldırıldı. Mevcut mevcut yuvalar: " + mevcutYuvalar);
} başka {
System.out.println("Araba buraya park edilmiş değil.");
}
}

Bir yöntem tanımlayın, viewParkedCars(). Yukarıdakine benzer şekilde, park etmiş araba olup olmadığını kontrol edin. Aksi takdirde, park edilen arabaların plaka numaralarını görüntüleyin. Bunu yapmak için, ArrayList'teki öğeleri yinelemek ve bunları birer birer görüntülemek için bir for-each döngüsü kullanın.

halkstatikgeçersizGörünümParkedArabalar(){
eğer (mevcutSlots == totalSlots) {
System.out.println("Park etmiş araba yok.");
geri dönmek;
}

System.out.println("Park etmiş arabalar:");

için (Dize lisansPlaka: parkedCars) {
System.out.println (licensePlate);
}
}
}

Hepsini bir araya getirin ve park sisteminiz kullanıma hazır.

Park Programından Örnek Çıktı

Yukarıdaki kod çalıştırıldığında, program tesisin toplam park yeri sayısını girmenizi ister. 5'e girildiğinde, bir arabayı park etme, kaldırma, park etmiş tüm arabaları görüntüleme ve programdan çıkma seçeneği sunar. Seçenek 1'i seçtiğinizde, aracın plaka numarasını girmenizi ister ve boş bir yeri park ederek azaltır.

3. seçeneği seçtiğinizde, az önce park ettiğiniz arabanın plaka numarasını görüntüleyebilirsiniz. Seçenek 2 seçildiğinde ve plaka numarası girildiğinde, program arabayı kaldırır ve mevcut yuvalar bir artar.

Kurabileceğiniz Diğer Yönetim Sistemleri

Java'da yönetim sistemleri oluşturarak, yazılım geliştirme, veritabanı yönetimi, güvenlik ve sistem entegrasyonunun çeşitli yönlerinde uzmanlık kazanırsınız. Keşfedebileceğiniz projelerden birkaçı, veri modellemeyi, CRUD işlemlerini, stok takibini ve sipariş karşılamayı anlamanıza yardımcı olan envanter yönetim sistemidir.

Veri organizasyonunu ve kullanıcı kimlik doğrulamasını öğrenmek için bir kitaplık yönetim sistemi oluşturabilirsiniz. Çalışan veya öğrenci yönetim sistemleri birbirine çok benzer ve rol tabanlı erişim kontrolü ve devam izlemeyi öğrenmenize yardımcı olabilir.