0% ont trouvé ce document utile (0 vote)
59 vues2 pages

Exercice Vehicule Java

Le document présente une application de gestion de location de véhicules avec une classe abstraite 'Vehicule' et deux sous-classes 'Voiture' et 'Camion'. Chaque classe implémente une méthode pour calculer le coût de location, et la classe principale 'MainApp' gère une liste de véhicules, affiche les coûts de location et identifie ceux dont le coût dépasse un certain seuil. L'application permet ainsi de calculer le coût total de location et de filtrer les véhicules chers.

Transféré par

kenzayouni66
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
59 vues2 pages

Exercice Vehicule Java

Le document présente une application de gestion de location de véhicules avec une classe abstraite 'Vehicule' et deux sous-classes 'Voiture' et 'Camion'. Chaque classe implémente une méthode pour calculer le coût de location, et la classe principale 'MainApp' gère une liste de véhicules, affiche les coûts de location et identifie ceux dont le coût dépasse un certain seuil. L'application permet ainsi de calculer le coût total de location et de filtrer les véhicules chers.

Transféré par

kenzayouni66
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

// Classe abstraite Vehicule

public abstract class Vehicule {


private String marque;
private String immatriculation;

public Vehicule(String marque, String immatriculation) {


this.marque = marque;
this.immatriculation = immatriculation;
}

public String getMarque() {


return marque;
}

public String getImmatriculation() {


return immatriculation;
}

public abstract double calculerCoutLocation();


}

// Classe Voiture
public class Voiture extends Vehicule {
private int nbJoursLocation;
private double tarifJournalier;

public Voiture(String marque, String immatriculation, int nbJoursLocation, double tarifJournalier) {


super(marque, immatriculation);
this.nbJoursLocation = nbJoursLocation;
this.tarifJournalier = tarifJournalier;
}

@Override
public double calculerCoutLocation() {
return nbJoursLocation * tarifJournalier;
}
}

// Classe Camion
public class Camion extends Vehicule {
private double nbKm;
private double tarifKm;

public Camion(String marque, String immatriculation, double nbKm, double tarifKm) {


super(marque, immatriculation);
this.nbKm = nbKm;
this.tarifKm = tarifKm;
}

@Override
public double calculerCoutLocation() {
return nbKm * tarifKm;
}
}

// Classe principale MainApp


import java.util.*;

public class MainApp {


private static List<Vehicule> parcVehicules = new ArrayList<>();

public static void main(String[] args) {


parcVehicules.add(new Voiture("Peugeot", "123-ABC", 5, 400));
parcVehicules.add(new Camion("Mercedes", "456-DEF", 300, 2.5));
parcVehicules.add(new Voiture("Renault", "789-GHI", 3, 350));
parcVehicules.add(new Camion("Volvo", "101-JKL", 500, 3));

afficherCoutsLocation();
System.out.println("\n-> Coût total de location : " + coutTotalLocation());

List<Vehicule> chers = getVehiculesChers(1500);


System.out.println("\n-> Véhicules dont le coût dépasse 1500 :");
for (Vehicule v : chers) {
System.out.println(v.getMarque() + " - " + v.getImmatriculation() + " - " + v.calculerCoutLocation());
}
}

public static void afficherCoutsLocation() {


for (Vehicule v : parcVehicules) {
if (v instanceof Voiture) {
System.out.println("[Voiture] " + v.getMarque() +
" (" + v.getImmatriculation() + ") : " +
v.calculerCoutLocation() + " DH");
} else if (v instanceof Camion) {
System.out.println("[Camion] " + v.getMarque() +
" (" + v.getImmatriculation() + ") : " +
v.calculerCoutLocation() + " DH");
}
}
}

public static double coutTotalLocation() {


double total = 0;
for (Vehicule v : parcVehicules) {
total += v.calculerCoutLocation();
}
return total;
}

public static List<Vehicule> getVehiculesChers(double seuil) {


List<Vehicule> result = new ArrayList<>();
for (Vehicule v : parcVehicules) {
if (v.calculerCoutLocation() > seuil) {
result.add(v);
}
}
return result;
}
}

Vous aimerez peut-être aussi