Apprenez à utiliser ArrayList pour cette application simple et pratique.
Un système de stationnement est une méthode pratique, sûre et durable sur le plan environnemental qui résout une grande partie du problème de gestion du trafic. Un système de stationnement bien conçu peut réduire le flux de trafic, utiliser efficacement l'espace, générer des revenus et offrir une expérience utilisateur améliorée.
Découvrez comment vous pouvez utiliser Java pour créer un système de stationnement simple que vous pourrez ensuite concevoir et intégrer à une base de données, ajouter des validations et développer une interface utilisateur graphique à utiliser dans la vie réelle.
Comment construire un système de stationnement en utilisant Java
Vous pouvez trouver le code source pour construire un système de stationnement de véhicules en utilisant Java dans ce Référentiel GitHub.
Pour ce projet, vous allez utiliser ArrayList qui est un tableau redimensionnable à usage général. Vous pouvez accéder aux éléments à l'aide d'un index, effectuer des opérations CRUD, etc.
Pour utiliser ArrayList, vous devez importer la classe ArrayList à partir de la bibliothèque standard Java. De même, pour opérations d'entrée-sortie, importez la classe Scanner. Définir une classe publique, VéhiculeParkingSystème, pour servir de classe principale.Définissez trois variables statiques: nombre total d'emplacements, emplacements disponibles, et voitures garées. totalSlots représente le nombre total de places de stationnement, tandis que availableSlots garde une trace du nombre restant libre. parkedCars est une ArrayList qui stocke les numéros de plaque d'immatriculation des voitures actuellement garées.
Définir la principal() et créez un objet de la classe Scanner. Demandez à l'utilisateur d'entrer le nombre total de places de stationnement et de le stocker dans totalSlots. Initialement, les slots disponibles sont égaux au nombre total de slots donc initialisez availableSlots à la même valeur que totalSlots.
importer java.util. Liste des tableaux;
importer java.util. Scanner;publicclasseVéhiculeParkingSystème{
statiqueentier nombre total d'emplacements, emplacements disponibles ;
statique Liste des tableauxvoitures garées = nouveau Liste des tableaux (); publicstatiqueannulerprincipal(Chaîne [] arguments){
Scanner sc = nouveau Scanner (System.in);
System.out.println("Entrez le nombre total de places de stationnement dans l'établissement :");
totalSlots = sc.nextInt();
emplacements disponibles = nombre total d'emplacements ;
Utiliser une boucle while qui tourne indéfiniment. Demandez à l'utilisateur s'il souhaite garer une voiture, la retirer, voir les voitures garées ou quitter le programme. Selon le choix, appelez la méthode correspondante. Si l'utilisateur souhaite terminer le programme, utilisez System.exit (0) pour terminer immédiatement.
alors que (vrai) {
System.out.println("\n Que voudriez-vous faire ?");
System.out.println("1. Garer une voiture");
System.out.println("2. Supprimer une voiture");
System.out.println("3. Voir les voitures en stationnement");
System.out.println("4. Sortie");
entier choix = sc.nextInt();
changer (choix) {
cas1:
parking();
casser;
cas2:
removeCar();
casser;
cas3:
viewParkedCars();
casser;
cas4:
System.exit(0);
défaut:
System.out.println("Choix invalide. Veuillez réessayer.");
}
}
}
Définir une méthode statique publique, parking(), sans type de retour. S'il n'y a pas de créneaux disponibles, informez l'utilisateur et revenez. Sinon, demandez à l'utilisateur d'entrer le numéro d'immatriculation de sa voiture et utilisez le ajouter() méthode pour l'insérer dans ArrayList. Diminuez le nombre d'emplacements disponibles d'un et affichez que le programme a garé la voiture avec le nombre actuel d'emplacements disponibles.
publicstatiqueannulerparking(){
si (emplacements disponibles == 0) {
System.out.println("Désolé, il n'y a pas de places de parking disponibles.");
retour;
}
Scanner sc = nouveau Scanner (System.in);
System.out.println("Entrez le numéro d'immatriculation de la voiture :");
Chaîne licensePlate = sc.nextLine();
parkedCars.add (plaque d'immatriculation);
emplacements disponibles-- ;
System.out.println("La voiture est garée avec succès. Les créneaux actuellement disponibles sont: " + emplacements disponibles );
}
Définir une méthode, removeCar(). Si les valeurs du nombre d'emplacements disponibles et total correspondent, affichez qu'il n'y a pas de voitures garées et revenez. Sinon, demandez à l'utilisateur le numéro d'immatriculation de sa voiture. Vérifiez si le numéro de plaque d'immatriculation saisi par l'utilisateur est présent dans la ArrayList à l'aide de contient().
En cas de succès, utilisez le retirer() pour le retirer de la ArrayList et incrémenter les slots disponibles de un. Affichez le message indiquant que le programme a supprimé la voiture ainsi que le nombre actuel d'emplacements disponibles. Si vous ne trouvez pas le numéro de la plaque d'immatriculation, indiquez qu'il n'y a pas de voiture garée dans l'établissement.
publicstatiqueannulersupprimerVoiture(){
si (emplacements disponibles == nombre total d'emplacements) {
System.out.println("Il n'y a pas de voitures garées.");
retour;
}Scanner sc = nouveau Scanner (System.in);
System.out.println("Entrez le numéro d'immatriculation de la voiture à retirer :");
Chaîne licensePlate = sc.nextLine();
si (parkedCars.contains (licensePlate)) {
parkedCars.remove (plaque d'immatriculation);
disponiblesSlots++ ;
System.out.println("Voiture retirée avec succès. Les créneaux actuellement disponibles sont: " + emplacements disponibles );
} autre {
System.out.println("La voiture n'est pas garée ici.");
}
}
Définir une méthode, viewParkedCars(). Semblable à ce qui précède, vérifiez s'il n'y a pas de voitures garées. Sinon, affichez les numéros de plaque d'immatriculation des voitures garées. Pour ce faire, utilisez une boucle for-each pour parcourir les éléments de ArrayList et les afficher un par un.
publicstatiqueannulervoirParkedCars(){
si (emplacements disponibles == nombre total d'emplacements) {
System.out.println("Il n'y a pas de voitures garées.");
retour;
}System.out.println("Voitures garées :");
pour (chaîne licensePlate: parkedCars) {
System.out.println (licensePlate);
}
}
}
Rassemblez tout et votre système de stationnement est prêt à l'emploi.
Exemple de sortie du programme de stationnement
Lors de l'exécution du code ci-dessus, le programme demande d'entrer le nombre total de places de stationnement de l'établissement. En entrant 5, il donne la possibilité de garer une voiture, de la retirer, de voir toutes les voitures garées et de quitter le programme. En choisissant l'option 1, il demande d'entrer le numéro d'immatriculation de la voiture et diminue un emplacement disponible en le garant.
En choisissant l'option 3, vous pouvez voir le numéro de plaque d'immatriculation de la voiture que vous venez de garer. En choisissant l'option 2 et en entrant le numéro de plaque d'immatriculation, le programme supprime la voiture et les créneaux disponibles augmentent de un.
Autres systèmes de gestion que vous pouvez créer
En créant des systèmes de gestion en Java, vous acquérez une expertise dans divers aspects du développement de logiciels, de la gestion de bases de données, de la sécurité et de l'intégration de systèmes. Parmi les projets que vous pouvez explorer, citons le système de gestion des stocks qui vous aide à comprendre la modélisation des données, les opérations CRUD, le suivi des stocks et l'exécution des commandes.
Vous pouvez créer un système de gestion de bibliothèque pour apprendre l'organisation des données et l'authentification des utilisateurs. Les systèmes de gestion des employés ou des étudiants sont très similaires et peuvent vous aider à apprendre le contrôle d'accès basé sur les rôles et le suivi des présences.