4°IIR
TP4 POO3 (Java et Java avancé)
Gestion d’un parking de voitures
Parking de Voitures : Nous disposons d’un parking permettant de garer des voitures. Les
voitures seront stationnées sur des places numérotées en partant de 0. Le nombre de places est
fixé une fois pour toutes à la construction du parking. Pour se faire, en crée tout d’abord une
classe Voiture complète.
La classe Voiture comporte les 4 attributs suivants : nom du propriétaire, marque, type et
nombre de chevaux et les méthodes suivantes : les Constructeurs, les modificateurs, les
accesseurs en cas de besoin et la méthode String toString().
1. Ecrire la classe Voiture.
2. Ecrire la classe d’exception PlaceNonLibreException.
3. Ecrire la classe d’exception PlaceLibreException.
4. Ecrire la classe d’exception HorsParkingException.
5. Ecrire la classe Parking et les constructeurs sachant que la classe Parking admet comme
attribut un tableau de voitures et un nombre de place limité.
6. Ecrire une méthode « garer » qui prend en paramètres une voiture, un numéro de place, et
qui gare la voiture à la place donnée si elle est libre, et lève une exception de type
PlaceNonLibreException.
7. Ecrire une méthode « sortir » qui prend en paramètre un numéro de place et qui retire du
garage la voiture à cette place. La méthode retourne l’objet Voiture récupéré. Elle lève une
exception de type PlaceLibreException si la place est vide.
8. Ajouter une exception HorsParkingException qui se déclenche lorsqu’un numéro de place
n’est pas valide.
9. Ecrire une méthode « toString » affichant l’état du garage : pour chaque place, le numéro,
ainsi que les caractéristiques de la voiture qui l’occupe si elle existe.
10. Ecrire la classe TestParking qui permet de tester les différentes méthodes des classes
crées.
1
4°IIR
Exercice 2 :
Écrire une classe Pile qui implémente une pile d’objets avec un tableau de taille fixe. On
définira pour cela deux exceptions : PilePleine et PileVide. On utilisera, pour écrire les
méthodes, l’exception ArrayIndexOutOfBoundsException qui indique qu’on a tenté d’accéder
à une case non définie d’un tableau.
Les champs de la classe seront :
private final static int taille = 10;
private Object[] pile;
private int pos;
Écrire une méthode main qui empile les arguments de la ligne de commande (du moins tant
que c’est possible) et qui les réécrit dans l’ordre inverse
Ouvre la configuration d’exécution
1. Clique droit sur la classe contenant main → Run As → Run Configurations…
2. Dans la fenêtre qui s’ouvre, sélectionne ta configuration Java (ou crée-en une nouvelle
si nécessaire).
Passe les arguments
1. Va dans l’onglet Arguments.
2. Dans la section Program arguments, écris tes arguments séparés par des espaces.
1 2 3 4 5 6 7 8 9 10 11 12
Clique sur Apply, puis sur Run