0% ont trouvé ce document utile (0 vote)
5 vues53 pages

Merde

Le document présente un système de réservation de vols avec des classes pour gérer les passagers, les vols, les réservations et les exceptions. Il inclut des fonctionnalités pour réserver et libérer des sièges, vérifier la disponibilité des vols et afficher les détails des réservations. Le système utilise un modèle singleton pour gérer les vols et les réservations.

Transféré par

yakawabihina
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues53 pages

Merde

Le document présente un système de réservation de vols avec des classes pour gérer les passagers, les vols, les réservations et les exceptions. Il inclut des fonctionnalités pour réserver et libérer des sièges, vérifier la disponibilité des vols et afficher les détails des réservations. Le système utilise un modèle singleton pour gérer les vols et les réservations.

Transféré par

yakawabihina
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd

class

VolCompletException
extends Exception {
public
VolCompletException(
String message)
{ super(message); }
}

class
SiegeOccupeExceptio
n extends Exception {
public
SiegeOccupeExceptio
n(String message)
{ super(message); }
}

// Classe de test pour


les exceptions
public class
SystemeExceptions {
public static void
main(String[] args) {
[Link]("Ge
stionnaire
d'exceptions chargé.");
}
}
import
[Link];

public class Passager


{
private String nom,
prenom,
numeroPasseport;
private LocalDate
dateNaissance;
public
Passager(String nom,
String prenom, String
numeroPasseport,
LocalDate
dateNaissance) {
[Link] = nom;
[Link] =
prenom;
[Link]
= numeroPasseport;
[Link] =
dateNaissance;
}

public int getAge() {


return
[Link]().getYe
ar() -
[Link]
r();
}

@Override
public String
toString() {
return prenom + "
" + nom + "
(Passeport: " +
numeroPasseport +
")";
}

// MAIN POUR
TESTER LE
PASSAGER
public static void
main(String[] args) {
Passager p =
new
Passager("Dupont",
"Jean", "AB123456",
[Link](1990, 5,
15));
[Link]("Te
st Passager: " +
[Link]());
[Link]("Âg
e: " + [Link]() + "
ans");
}
}
import [Link].*;
import
[Link];

public class Vol {


private String
numero, destination;
private LocalDate
date;
private int
placesTotales,
placesReservees;
private Set<String>
siegesOccupes = new
HashSet<>();
private double
prixBase;

public Vol(String
numero, String
destination, LocalDate
date, int
placesTotales, double
prixBase) {
[Link] =
numero;
[Link] =
destination;
[Link] = date;
[Link]
= placesTotales;
[Link] =
prixBase;
[Link]
= 0;
}

public boolean
estComplet() { return
placesReservees >=
placesTotales; }

public double
getPrixSelonClasse(St
ring classe) {
if
([Link]
ase("premiere"))
return prixBase * 3;
if
([Link]
ase("affaires")) return
prixBase * 2;
return prixBase;
}

public String
reserverSiege(String
siege) throws
SiegeOccupeExceptio
n{
if
([Link]
ns(sie
ge)) throw new
SiegeOccupeExceptio
n("Siège déjà
occupé");
[Link](si
ege);
placesReservees++;
return siege;
}

public void
libererSiege(String
siege) {
if
([Link]
ve(siege))
placesReservees--;
}

@Override
public String
toString() {
return "Vol " +
numero + " vers " +
destination + " le " +
date;
}

// MAIN POUR
TESTER LE VOL
public static void
main(String[] args) {
Vol v = new
Vol("AF123",
"Paris",
[Link]().plusD
ays(1), 2, 300.0);
[Link]("Te
st Vol: " + [Link]());
[Link]("Pri
x Affaires: " +
[Link]("
affaires") + "€");
}
}
import
[Link];

enum ClasseVol
{ ECONOMIQUE,
AFFAIRES,
PREMIERE }
public class
Reservation {
private static int
compteur = 1;
private int id;
private Vol vol;
private Passager
passager;
private String siege;
private ClasseVol
classe;
private boolean
confirmee = true;

public
Reservation(Vol vol,
Passager passager,
String siege,
ClasseVol classe)
throws
VolCompletException,
SiegeOccupeExceptio
n{
if
([Link]())
throw new
VolCompletException(
"Vol plein");
[Link] =
compteur++;
[Link] = vol;
[Link] =
passager;
[Link] =
classe;
[Link] =
[Link](sieg
e);
}

public void annuler()


{
[Link] =
false;
[Link](siege)
;
}

public void
afficherDetails() {
[Link]("Ré
servation #" + id + " ["
+ (confirmee ? "OK" :
"ANNULÉE") + "]");
[Link]("Pa
ssager: " + passager);
[Link]("Vol
:
" + vol + " | Siège: " +
siege + " | Classe: " +
classe);
}

// MAIN POUR
TESTER LA
RÉSERVATION
public static void
main(String[] args) {
try {
Vol v = new
Vol("AF123", "Paris",
[Link](), 150,
200.0);
Passager p =
new
Passager("Martin",
"Sophie",
"P999",
[Link](1985, 1,
1));
Reservation
res = new
Reservation(v, p,
"12A",
[Link]
QUE);
[Link]();
} catch
(Exception e)
{ [Link](e.
getMessage()); }
}
}
import [Link].*;

public class
GestionnaireVols {
private static
GestionnaireVols
instance;
private List<Vol>
vols = new
ArrayList<>();
private
List<Reservation>
reservations = new
ArrayList<>();

private
GestionnaireVols() {}

public static
synchronized
GestionnaireVols
getInstance() {
if (instance ==
null) instance = new
GestionnaireVols();
return instance;
}
public void
ajouterVol(Vol v)
{ [Link](v); }

public void
reserver(Vol v,
Passager p, String s,
ClasseVol c) {
try {
Reservation r
= new Reservation(v,
p, s, c);
[Link](r);
[Link]("Ré
servation réussie.");
} catch
(Exception e) {
[Link]("Err
eur: " +
[Link]()); }
}

// MAIN POUR
TESTER LE
SINGLETON
public static void
main(String[] args) {
GestionnaireVols
g1 =
[Link]
stance();
GestionnaireVols
g2 =
[Link]
stance();
[Link]("Mê
me instance ? " + (g1
== g2));
}
}
import
[Link];
public class
SystemeReservationV
ols {
public static void
main(String[] args) {
[Link]("==
= DÉMARRAGE DU
SYSTÈME ===\n");
GestionnaireVols
gestion =
[Link]
stance();
// 1. Création des
dates
LocalDate
demain =
[Link]().plusD
ays(1);
// 2. Création d'un
vol
Vol v1 = new
Vol("AF123", "Douala",
demain, 150, 400.0);
[Link](v1);
// 3. Création d'un
passager
Passager p1 =
new Passager("Eto'o",
"Samuel",
"P237",
[Link](1981, 3,
10));

// 4. Réservation
[Link](v1,
p1, "1A",
[Link]
);

[Link]("\
n=== FIN DE LA
DÉMONSTRATION
===");
}
}

Vous aimerez peut-être aussi