2023-2024
EMSI CASABLANCA
4ème IIR Série TP3 : JAVA-JAVA Avancée
Exercice 1 :
Ecrire un programme qui saisit un entier au clavier et qui recherche si cet entier appartient au
tableau tab.
Au cas où la réponse est positive, l’indice de cet entier dans le tableau est affiché.
S’il y a plusieurs occurrences, le dernier indice est affiché (puis le premier).
Exercice 2 :
Dans cet exercice, l’utilisateur fait des insertions dans un tableau de caractères. Au départ, le
tableau est le suivant :
‘x’ ‘r’ ‘l’ ‘b’
L’utilisateur saisit le nombre de caractères qu’il veut ajouter dans le tableau, l’indice à partir
duquel il veut les insérer et les caractères eux-mêmes.
Notez que la taille des tableaux étant fixe, on ne peut pas réellement insérer des éléments en
plus.
Ce qu’on fera est de créer un nouveau tableau en recopiant les valeurs de l’ancien tableau et les
nouvelles valeurs insérées conformément à la demande.
Exercice 3
On souhaite gérer une bibliothèque constituée de livres :
1) Ecrire une classe Livre contenant :
▪ son titre (titre : une chaîne de caractères) ;
▪ ses auteurs (auteurs : un tableau de chaînes de caractères au maximum 5 auteurs);
▪ son numéro ISBN (ISBN : une chaîne de caractères) ;
▪ son prix en Dirhams (prix : un nombre réel).
Chaque donnée membre et chaque méthode devront être définies avec le droit d’accès private
ou public.
Définissez les méthodes lecture(s), affichage(s) et constructeur(s) dont vous avez besoin.
2) Testez votre classe en écrivant une application JAVA (dans une autre classe) capable de créer
un objet de type Livre et d’afficher les caractéristiques de ce livre.
3) Ecrire une classe Bibliotheque répondant au cahier des charges suivant :
▪ Un constructeur qui prend en paramètre le nombre maximum de livres que peut contenir
la bibliothèque.
▪ Une méthode int capacite() retournant la capacité de la bibliothèque.
▪ Une méthode boolean ajoutelivre(Livre) qui ajoute un livre à la bibliothèque. La
méthode renvoie true si l’ajout s’est correctement effectué, false sinon.
▪ Une méthode int size() retournant le nombre de livres contenus dans la bibliothèque.
▪ Une méthode afficher() qui permettra d’afficher l’ensemble des livres contenus dans la
bibliothèque.
4) Modifier l’application JAVA pour tester la classe Bibliothèque.
5) Enrichir la classe Bibliotheque d’une méthode Livre [] Cherche(String auteur) renvoyant
un tableau contenant les ouvrages écrits par l’auteur dont le nom est transmis en argument.
2023-2024
EMSI CASABLANCA
4ème IIR Série TP3 : JAVA-JAVA Avancée
Exercice 4
Soit les classes Game et Part indiquées comme suite :
public class Part {
private int numero;
private String identJoueur;
private String date;
private String nomJeu;
private int partieTerminee;
private int score;
private int scoreAdversaire;
[…]
public String getIdentJoueur (){
return identJoueur;}
public int getScore () {return score;}
public int getScoreAdversaire () {
return scoreAdversaire;}}
public class Game {
private ArrayList<Joueur> joueurs;
private ArrayList<Part> parties;
[…] }
Ecrire le code de la méthode de la classe Game suivante : public String premier().
Cette méthode retourne l'identification du joueur qui a fait le meilleur score (différences des
scores du joueur et de l'adversaire).
Exercice 5 :
Soit la classe Parking qui est définie avec la variable d'instance suivante :
private List<Voiture> voitures = new ArrayList<>();
La classe Voiture a plusieurs champs. Une de ses méthodes, getMarque(), retourne la marque.
Ecrire le corps de la méthode sortir() définie dans Parking, qui permet de supprimer de la liste
toutes les voitures d'une marque donnée et qui retourne la liste des voitures supprimées.
Rappel : les indices des éléments d'une liste peuvent changer !
public List<Voiture> sortir(String marque){ ……… }
Exercice 6 :
Complétez la classe [Link] en créant la méthode UpDownWith (UpDownList list)
afin que les éléments de la liste passée en paramètre soient insérés comme tous les autres
éléments de la liste courante (ie, premier élément de la première liste, premier élément de
deuxième liste, deuxième élément de première liste, deuxième élément de deuxième liste, ...).
Tous les éléments supplémentaires dans la liste actuelle ou dans la liste passée en paramètre
doivent être ajoutés à la fin de la nouvelle liste, dans leur ordre d'origine. De plus, aucun élément
ne doit rester dans la liste passée en paramètre à la fin de la méthode.
2023-2024
EMSI CASABLANCA
4ème IIR Série TP3 : JAVA-JAVA Avancée
Il est important de noter qu'aucun nouvel élément ne doit être construit dans l'implémentation
de la méthode UpDownWith().
La méthode main() fournie permet de tester la méthode UpDownWith () sur des listes de tailles
différentes, comme indiqué dans les exemples ci-dessous.
Première liste : 0-2-4-6-8
Deuxième liste: 1-3-5-7-9-11-13-15
La sortie : 0-1-2-3-4-5-6-7-8-9-11-13-15