Ajout de la classe pour gérer les différents véhicules
This commit is contained in:
299
com/humanbooster/exercices/VehiculeManager.java
Normal file
299
com/humanbooster/exercices/VehiculeManager.java
Normal file
@@ -0,0 +1,299 @@
|
||||
package com.humanbooster.exercices;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Scanner;
|
||||
|
||||
public class VehiculeManager {
|
||||
|
||||
private final List<Vehicule> listeVehicules;
|
||||
|
||||
private final List<Voiture> listeVoitures;
|
||||
private final List<Moto> listeMotos;
|
||||
private final List<Camion> listeCamions;
|
||||
|
||||
/**
|
||||
* Constructeur de la classe VehiculeManager
|
||||
* Initialise les listes de véhicules
|
||||
*/
|
||||
public VehiculeManager () {
|
||||
|
||||
listeVehicules = new ArrayList<>();
|
||||
|
||||
listeVoitures = new ArrayList<>();
|
||||
listeMotos = new ArrayList<>();
|
||||
listeCamions = new ArrayList<>();
|
||||
|
||||
listeVehicules.addAll(listeVoitures);
|
||||
listeVehicules.addAll(listeMotos);
|
||||
listeVehicules.addAll(listeCamions);
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour obtenir la liste des véhicules
|
||||
* @return La liste des véhicules
|
||||
*/
|
||||
public List<Vehicule> getListeVehicules() {
|
||||
return listeVehicules;
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour obtenir la liste des voitures
|
||||
* @return La liste des voitures
|
||||
*/
|
||||
public List<Voiture> getListeVoitures() {
|
||||
return listeVoitures;
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour obtenir la liste des motos
|
||||
* @return La liste des motos
|
||||
*/
|
||||
public List<Moto> getListeMotos() {
|
||||
return listeMotos;
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour obtenir la liste des camions
|
||||
* @return La liste des camions
|
||||
*/
|
||||
public List<Camion> getListeCamions() {
|
||||
return listeCamions;
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour créer une voiture
|
||||
* @param marque La marque de la voiture
|
||||
* @param modele Le modèle de la voiture
|
||||
* @param vitesseMax La vitesse maximale de la voiture
|
||||
* @param nombrePortes Le nombre de portes de la voiture
|
||||
*/
|
||||
public void creerVoiture(String marque, String modele, int vitesseMax, int nombrePortes) {
|
||||
new Voiture(marque, modele, vitesseMax, nombrePortes);
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour créer une moto
|
||||
* @param marque La marque de la moto
|
||||
* @param modele Le modèle de la moto
|
||||
* @param vitesseMax La vitesse maximale de la moto
|
||||
* @param cylindree La cylindrée de la moto
|
||||
*/
|
||||
public void creerMoto(String marque, String modele, int vitesseMax, int cylindree) {
|
||||
new Moto(marque, modele, vitesseMax, cylindree);
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour créer un camion
|
||||
* @param marque La marque du camion
|
||||
* @param modele Le modèle du camion
|
||||
* @param vitesseMax La vitesse maximale du camion
|
||||
* @param remorque La remorque du camion
|
||||
*/
|
||||
public void creerCamion(String marque, String modele, int vitesseMax, Remorque remorque) {
|
||||
new Camion(marque, modele, vitesseMax, remorque);
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour supprimer une voiture
|
||||
* @param voiture La voiture à supprimer
|
||||
*/
|
||||
public void supprimerVoiture(Voiture voiture) {
|
||||
listeVoitures.remove(voiture);
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour supprimer une moto
|
||||
* @param moto La moto à supprimer
|
||||
*/
|
||||
public void supprimerMoto(Moto moto) {
|
||||
listeMotos.remove(moto);
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour supprimer un camion
|
||||
* @param camion Le camion à supprimer
|
||||
*/
|
||||
public void supprimerCamion(Camion camion) {
|
||||
listeCamions.remove(camion);
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour démarrer un véhicule
|
||||
* @param vehicule Le véhicule à démarrer
|
||||
*/
|
||||
public void demarrerVehicule(Vehicule vehicule) {
|
||||
vehicule.demarrer();
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour accélérer un véhicule
|
||||
* @param vehicule Le véhicule à accélérer
|
||||
*/
|
||||
public void accelererVehicule(Vehicule vehicule) {
|
||||
vehicule.accelerer();
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour freiner un véhicule
|
||||
* @param vehicule Le véhicule à freiner
|
||||
*/
|
||||
public void freinerVehicule(Vehicule vehicule) {
|
||||
vehicule.freiner();
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour mettre à jour la liste des véhicules
|
||||
*/
|
||||
public void updateList() {
|
||||
listeVehicules.addAll(listeVoitures);
|
||||
listeVehicules.addAll(listeMotos);
|
||||
listeVehicules.addAll(listeCamions);
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour afficher le menu de gestion des véhicules
|
||||
*/
|
||||
public void afficherMenu() {
|
||||
|
||||
// Initialisation du menu
|
||||
System.out.println("\nBienvenue dans le menu de gestion des véhicules !");
|
||||
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
|
||||
// Boucle principale du menu
|
||||
int choix;
|
||||
do {
|
||||
System.out.println("\nVeuillez choisir une option :");
|
||||
System.out.println("1. Afficher les véhicules");
|
||||
System.out.println("2. Ajouter un véhicule");
|
||||
System.out.println("3. Supprimer un véhicule");
|
||||
System.out.println("0. Quitter");
|
||||
System.out.print("\nVotre choix : ");
|
||||
choix = scanner.nextInt();
|
||||
scanner.nextLine();
|
||||
|
||||
switch (choix) {
|
||||
case 1:
|
||||
|
||||
if (this.getListeVehicules().isEmpty()) {
|
||||
System.out.println("Aucun véhicule trouvé.");
|
||||
} else {
|
||||
System.out.println("\nListe des véhicules :");
|
||||
for (Vehicule vehicule : this.getListeVehicules()) {
|
||||
System.out.println("\n----------------------------------");
|
||||
System.out.println(vehicule.getTypeVehicule() + " :");
|
||||
vehicule.afficherInfos();
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
case 2:
|
||||
System.out.println("\nQuel type de véhicule voulez-vous ajouter ?");
|
||||
System.out.println("1. Voiture");
|
||||
System.out.println("2. Moto");
|
||||
System.out.println("3. Camion");
|
||||
System.out.print("\nVotre choix : ");
|
||||
int typeVehicule = scanner.nextInt();
|
||||
scanner.nextLine();
|
||||
switch (typeVehicule) {
|
||||
case 1:
|
||||
System.out.println("\n---Ajout d'une voiture---");
|
||||
System.out.print("Marque : ");
|
||||
String marqueVoiture = scanner.nextLine();
|
||||
System.out.print("Modèle : ");
|
||||
String modeleVoiture = scanner.nextLine();
|
||||
System.out.print("Vitesse max : ");
|
||||
int vitesseMaxVoiture = scanner.nextInt();
|
||||
System.out.print("Nombre de portes : ");
|
||||
int nombrePortes = scanner.nextInt();
|
||||
this.getListeVoitures().add(new Voiture(marqueVoiture, modeleVoiture, vitesseMaxVoiture, nombrePortes));
|
||||
this.updateList();
|
||||
break;
|
||||
|
||||
case 2:
|
||||
System.out.println("\n---Ajout d'une moto---");
|
||||
System.out.print("Marque : ");
|
||||
String marqueMoto = scanner.nextLine();
|
||||
System.out.print("Modèle : ");
|
||||
String modeleMoto = scanner.nextLine();
|
||||
System.out.print("Vitesse max : ");
|
||||
int vitesseMaxMoto = scanner.nextInt();
|
||||
System.out.print("Cylindrée : ");
|
||||
int cylindree = scanner.nextInt();
|
||||
this.getListeMotos().add(new Moto(marqueMoto, modeleMoto, vitesseMaxMoto, cylindree));
|
||||
this.updateList();
|
||||
break;
|
||||
|
||||
case 3:
|
||||
System.out.println("\n---Ajout d'un camion---");
|
||||
System.out.print("Marque : ");
|
||||
String marqueCamion = scanner.nextLine();
|
||||
System.out.print("Modèle : ");
|
||||
String modeleCamion = scanner.nextLine();
|
||||
System.out.print("Vitesse max : ");
|
||||
int vitesseMaxCamion = scanner.nextInt();
|
||||
this.getListeCamions().add(new Camion(marqueCamion, modeleCamion, vitesseMaxCamion, new Remorque()));
|
||||
this.updateList();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
System.out.println("\nQuel type de véhicule voulez-vous supprimer ?");
|
||||
System.out.println("1. Voiture");
|
||||
System.out.println("2. Moto");
|
||||
System.out.println("3. Camion");
|
||||
System.out.print("\nVotre choix : ");
|
||||
int typeVehiculeSupprimer = scanner.nextInt();
|
||||
scanner.nextLine();
|
||||
switch (typeVehiculeSupprimer) {
|
||||
case 1:
|
||||
System.out.print("Marque : ");
|
||||
String marqueVoitureSupprimer = scanner.nextLine();
|
||||
System.out.print("Modèle : ");
|
||||
String modeleVoitureSupprimer = scanner.nextLine();
|
||||
for (Voiture voiture : this.getListeVoitures()) {
|
||||
if (voiture.getMarque().equals(marqueVoitureSupprimer) && voiture.getModele().equals(modeleVoitureSupprimer)) {
|
||||
this.supprimerVoiture(voiture);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 2:
|
||||
System.out.print("Marque : ");
|
||||
String marqueMotoSupprimer = scanner.nextLine();
|
||||
System.out.print("Modèle : ");
|
||||
String modeleMotoSupprimer = scanner.nextLine();
|
||||
for (Moto moto : this.getListeMotos()) {
|
||||
if (moto.getMarque().equals(marqueMotoSupprimer) && moto.getModele().equals(modeleMotoSupprimer)) {
|
||||
this.supprimerMoto(moto);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
System.out.print("Marque : ");
|
||||
String marqueCamionSupprimer = scanner.nextLine();
|
||||
System.out.print("Modèle : ");
|
||||
String modeleCamionSupprimer = scanner.nextLine();
|
||||
for (Camion camion : this.getListeCamions()) {
|
||||
if (camion.getMarque().equals(marqueCamionSupprimer) && camion.getModele().equals(modeleCamionSupprimer)) {
|
||||
this.supprimerCamion(camion);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0:
|
||||
System.out.println("Au revoir !");
|
||||
break;
|
||||
default:
|
||||
System.out.println("Choix invalide.");
|
||||
}
|
||||
} while (choix != 0);
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user