Μάθετε πώς να χρησιμοποιείτε το ArrayList για αυτήν την απλή, πρακτική εφαρμογή.

Το σύστημα στάθμευσης είναι μια βολική, ασφαλής και περιβαλλοντικά βιώσιμη μέθοδος που λύνει ένα σημαντικό κομμάτι του ζητήματος διαχείρισης της κυκλοφορίας. Ένα καλά σχεδιασμένο σύστημα στάθμευσης μπορεί να μειώσει τη ροή της κυκλοφορίας, να αξιοποιήσει αποτελεσματικά τον χώρο, να δημιουργήσει έσοδα και να προσφέρει βελτιωμένη εμπειρία χρήστη.

Μάθετε πώς μπορείτε να χρησιμοποιήσετε την Java για να δημιουργήσετε ένα απλό σύστημα στάθμευσης που μπορείτε αργότερα να σχεδιάσετε και να ενσωματώσετε σε μια βάση δεδομένων, να προσθέσετε επικυρώσεις και να αναπτύξετε μια γραφική διεπαφή χρήστη για χρήση στην πραγματική ζωή.

Πώς να φτιάξετε ένα σύστημα στάθμευσης χρησιμοποιώντας Java

Μπορείτε να βρείτε τον πηγαίο κώδικα για την κατασκευή ενός συστήματος στάθμευσης οχημάτων χρησιμοποιώντας Java σε αυτό Αποθετήριο GitHub.

Για αυτό το έργο, θα χρησιμοποιήσετε το ArrayList που είναι ένας πίνακας γενικής χρήσης, με δυνατότητα αλλαγής μεγέθους. Μπορείτε να αποκτήσετε πρόσβαση σε στοιχεία χρησιμοποιώντας ένα ευρετήριο, να εκτελέσετε λειτουργίες CRUD και πολλά άλλα.

instagram viewer
Για να χρησιμοποιήσετε το ArrayList, πρέπει να εισαγάγετε την κλάση ArrayList από την τυπική βιβλιοθήκη Java. Ομοίως, για λειτουργίες εισόδου-εξόδου, εισάγετε την κλάση Scanner. Ορίστε μια δημόσια τάξη, Σύστημα Στάθμευσης Οχημάτων, για να λειτουργήσει ως κύρια τάξη.

Ορίστε τρεις στατικές μεταβλητές: συνολικά κουλοχέρηδες, διαθέσιμοι κουλοχέρηδες, και σταθμευμένα αυτοκίνητα. Το totalSlots αντιπροσωπεύει τον συνολικό αριθμό θέσεων στάθμευσης, ενώ το availableSlots παρακολουθεί πόσες παραμένουν δωρεάν. Το parkedCars είναι μια ArrayList που αποθηκεύει τους αριθμούς πινακίδων κυκλοφορίας των αυτοκινήτων που είναι σταθμευμένα αυτήν τη στιγμή.

Ορίστε το κύριος() μέθοδο και δημιουργήστε ένα αντικείμενο της κλάσης Scanner. Ζητήστε από τον χρήστη να εισαγάγει τον συνολικό αριθμό θέσεων στάθμευσης και να τον αποθηκεύσει σε totalSlots. Αρχικά, οι διαθέσιμες κουλοχέρηδες ισούνται με τις συνολικές κουλοχέρηδες, επομένως αρχικοποιήστε τις διαθέσιμες κουλοχέρηδες στην ίδια τιμή με τις θέσεις totalSlots.

εισαγωγή java.util. ArrayList;
εισαγωγή java.util. Ερευνητής;

δημόσιοτάξηΣύστημα Στάθμευσης Οχημάτων{

στατικόςενθ totalSlots, διαθέσιμοι κουλοχέρηδες;
στατικός ArrayList παρκαρισμένα Αυτοκίνητα = νέος ArrayList();

δημόσιοστατικόςκενόςκύριος(String[] args){

Σαρωτής sc = νέος Σαρωτής (System.in);
System.out.println("Εισαγάγετε τον συνολικό αριθμό θέσεων στάθμευσης στην εγκατάσταση:");
totalSlots = sc.nextInt();
διαθέσιμοι κουλοχέρηδες = συνολικά κουλοχέρηδες;

Χρησιμοποιήστε βρόχο while που τρέχει επ' αόριστον. Ρωτήστε τον χρήστη εάν θέλει να σταθμεύσει ένα αυτοκίνητο, να το αφαιρέσει, να δει σταθμευμένα αυτοκίνητα ή να βγει από το πρόγραμμα. Ανάλογα με την επιλογή, καλέστε την αντίστοιχη μέθοδο. Εάν ο χρήστης θέλει να τερματίσει το πρόγραμμα, χρησιμοποιήστε το System.exit (0) να τερματιστεί αμέσως.

ενώ (αληθής) {
System.out.println("\n Τι θα θέλατε να κάνετε;");
System.out.println("1. Παρκάρετε ένα αυτοκίνητο");
System.out.println("2. Αφαιρέστε ένα αυτοκίνητο");
System.out.println("3. Δείτε σταθμευμένα αυτοκίνητα");
System.out.println("4. Εξοδος");
ενθ Choice = sc.nextInt();

διακόπτης (επιλογή) {
υπόθεση1:
parkCar();
Διακοπή;
υπόθεση2:
removeCar();
Διακοπή;
υπόθεση3:
viewParkedCars();
Διακοπή;
υπόθεση4:
System.exit(0);
Προκαθορισμένο:
System.out.println(«Μη έγκυρη επιλογή. ΠΑΡΑΚΑΛΩ προσπαθησε ξανα.");
}
}
}

Ορίστε μια δημόσια στατική μέθοδο, parkCar(),χωρίς τύπο επιστροφής. Εάν δεν υπάρχουν διαθέσιμες κουλοχέρηδες, ενημερώστε τον χρήστη και επιστρέψτε. Διαφορετικά, ζητήστε από τον χρήστη να εισάγει τον αριθμό πινακίδας του αυτοκινήτου του και να χρησιμοποιήσει το Προσθήκη() μέθοδο για την εισαγωγή του στη λίστα ArrayList. Μειώστε τον αριθμό των διαθέσιμων θέσεων κατά μία και εμφανίστε ότι το πρόγραμμα στάθμευσε το αυτοκίνητο μαζί με τον τρέχοντα αριθμό των διαθέσιμων θέσεων.

δημόσιοστατικόςκενόςparkCar(){
αν (διαθέσιμοι κουλοχέρηδες == 0) {
System.out.println("Συγγνώμη, δεν υπάρχουν διαθέσιμες θέσεις στάθμευσης.");
ΕΠΙΣΤΡΟΦΗ;
}

Σαρωτής sc = νέος Σαρωτής (System.in);
System.out.println("Πληκτρολογήστε τον αριθμό πινακίδας του αυτοκινήτου:");
Συμβολοσειρά LicensePlate = sc.nextLine();
parkedCars.add (licensePlate);
διαθέσιμοι κουλοχέρηδες--;
System.out.println(«Το αυτοκίνητο είναι σταθμευμένο με επιτυχία. Οι τρέχουσες διαθέσιμες κουλοχέρηδες είναι: " + διαθέσιμοι κουλοχέρηδες);
}

Ορίστε μια μέθοδο, removeCar(). Εάν οι τιμές του διαθέσιμου και του συνολικού αριθμού κουλοχέρηδων ταιριάζουν, εμφανίστε ότι δεν υπάρχουν σταθμευμένα αυτοκίνητα και επιστρέψτε. Διαφορετικά, ζητήστε από τον χρήστη τον αριθμό πινακίδας του αυτοκινήτου του. Ελέγξτε εάν ο αριθμός πινακίδας κυκλοφορίας που εισήγαγε ο χρήστης υπάρχει στο ArrayList χρησιμοποιώντας περιέχει().

Εάν είναι επιτυχής, χρησιμοποιήστε το αφαιρώ() μέθοδο για να το αφαιρέσετε από το ArrayList και να αυξήσετε τις διαθέσιμες θέσεις κατά μία. Εμφανίστε το μήνυμα ότι το πρόγραμμα έχει αφαιρέσει το αυτοκίνητο μαζί με τον τρέχοντα αριθμό των διαθέσιμων υποδοχών. Σε περίπτωση που δεν βρείτε τον αριθμό πινακίδας κυκλοφορίας, δείξτε ότι δεν υπάρχει τέτοιο αυτοκίνητο σταθμευμένο στην εγκατάσταση.

δημόσιοστατικόςκενόςαφαιρέστε το αυτοκίνητο(){
αν (availableSlots == totalSlots) {
System.out.println(«Δεν υπάρχουν σταθμευμένα αυτοκίνητα».);
ΕΠΙΣΤΡΟΦΗ;
}

Σαρωτής sc = νέος Σαρωτής (System.in);
System.out.println("Εισαγάγετε τον αριθμό πινακίδας του αυτοκινήτου που πρόκειται να αφαιρεθεί:");
Συμβολοσειρά LicensePlate = sc.nextLine();

αν (parkedCars.contains (licensePlate)) {
parkedCars.remove (licensePlate);
διαθέσιμοι κουλοχέρηδες++;
System.out.println(«Το αυτοκίνητο αφαιρέθηκε με επιτυχία. Οι τρέχουσες διαθέσιμες κουλοχέρηδες είναι: " + διαθέσιμοι κουλοχέρηδες);
} αλλού {
System.out.println(«Το αυτοκίνητο δεν είναι παρκαρισμένο εδώ».);
}
}

Ορίστε μια μέθοδο, viewParkedCars(). Παρόμοια με τα παραπάνω, ελέγξτε αν δεν υπάρχουν σταθμευμένα αυτοκίνητα. Διαφορετικά, εμφανίστε τους αριθμούς πινακίδων κυκλοφορίας των σταθμευμένων αυτοκινήτων. Για να το κάνετε αυτό, χρησιμοποιήστε έναν βρόχο για κάθε για να επαναλάβετε τα στοιχεία στο ArrayList και να τα εμφανίσετε ένα προς ένα.

δημόσιοστατικόςκενόςθέα Παρκαρισμένα Αυτοκίνητα(){
αν (availableSlots == totalSlots) {
System.out.println(«Δεν υπάρχουν σταθμευμένα αυτοκίνητα».);
ΕΠΙΣΤΡΟΦΗ;
}

System.out.println("Σταθμευμένα αυτοκίνητα:");

Για (Πινακίδα άδειας χορδής: παρκαρισμένα αυτοκίνητα) {
System.out.println (LicensePlate);
}
}
}

Συνδυάστε τα όλα μαζί και το σύστημα στάθμευσης σας είναι έτοιμο για χρήση.

Παράδειγμα εξόδου από το πρόγραμμα στάθμευσης

Κατά την εκτέλεση του παραπάνω κωδικού, το πρόγραμμα ζητά να εισαγάγετε τον συνολικό αριθμό θέσεων στάθμευσης της εγκατάστασης. Με την εισαγωγή του 5, δίνει την επιλογή να παρκάρετε ένα αυτοκίνητο, να το αφαιρέσετε, να δείτε όλα τα σταθμευμένα αυτοκίνητα και να βγείτε από το πρόγραμμα. Επιλέγοντας την επιλογή 1, ζητά να εισαγάγετε τον αριθμό πινακίδας του αυτοκινήτου και μειώνει μια διαθέσιμη υποδοχή παρκάροντάς την.

Επιλέγοντας την επιλογή 3, μπορείτε να δείτε τον αριθμό πινακίδας του αυτοκινήτου που μόλις σταθμεύσατε. Με την επιλογή της επιλογής 2 και την εισαγωγή του αριθμού πινακίδας, το πρόγραμμα αφαιρεί το αυτοκίνητο και οι διαθέσιμες θέσεις αυξάνονται κατά μία.

Άλλα συστήματα διαχείρισης που μπορείτε να δημιουργήσετε

Χτίζοντας συστήματα διαχείρισης σε Java αποκτάτε εξειδίκευση σε διάφορες πτυχές της ανάπτυξης λογισμικού, της διαχείρισης βάσεων δεδομένων, της ασφάλειας και της ενοποίησης συστημάτων. Μερικά από τα έργα που μπορείτε να εξερευνήσετε είναι το σύστημα διαχείρισης αποθέματος που σας βοηθά να κατανοήσετε τη μοντελοποίηση δεδομένων, τις λειτουργίες CRUD, την παρακολούθηση αποθεμάτων και την εκπλήρωση παραγγελιών.

Μπορείτε να δημιουργήσετε ένα σύστημα διαχείρισης βιβλιοθήκης για να μάθετε την οργάνωση δεδομένων και τον έλεγχο ταυτότητας χρήστη. Τα συστήματα διαχείρισης εργαζομένων ή μαθητών μοιάζουν πολύ και μπορούν να σας βοηθήσουν να μάθετε τον έλεγχο πρόσβασης βάσει ρόλων και την παρακολούθηση της παρουσίας.