0% ont trouvé ce document utile (0 vote)
235 vues3 pages

Serie 2 Java

Transféré par

malek chaari
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)
235 vues3 pages

Serie 2 Java

Transféré par

malek chaari
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

Université Tunis El-Manar ▪ Vous munirez cette classe Point :

Fac. Sces de tunis o de son constructeur pour saisir les deux coordonnées
o d’une méthode toString() qui affiche ses deux coordonnées.
Module : Programmation OO o d’une méthode calculerDistance(Point p) qui retourne la distance entre
Série N° 2 : Programmation en Java deux points
2) Définissez la classe Triangle :
Exercice 1 : Les complexes ▪ Un triangle est composé de trois points de la classe Point.
1. On souhaite manipuler les nombres complexes en java. Ecrire la classe ▪ Vous munirez la classe Triangle :
Complexe suivante : ▪ d’un constructeur qui construira le triangle à partir de trois points déjà créés,
Class Complexe { ▪ d’une méthode calculerPerimetre()
private double pReel ; ▪ d’une méthode toString() qui affiche chacun des points qui le constitue avec
private double pIm ; ses coordonnées,
public Complexe (double pReel, double pIm) ; ▪ d’une méthode isocèle() qui édite un message indiquant si le triangle est
public Complexe (double pReel) ; isocèle ou non,
public Complexe () ; 3) Ecrire une classe Test qui crée divers triangles et affiche s’ils sont isocèles ou non
public double getRe () ; selon l’exemple suivant et d’autres exemples que vous testerez :
public double getIm () ; Construction d'un nouveau point
public void setRe (double) ; Veuillez entrer x : 0
Veuillez entrer y : 0
public void setIm (double) ; Construction d'un nouveau point
public double module () ; Veuillez entrer x : 2.5
public double argument () ; Veuillez entrer y : 2.5
public Comlexe conjuge () ; Construction d'un nouveau point
Veuillez entrer x : 0
public Comlexe oppose () ; Veuillez entrer y : 5
public Complexe inverse () ; Périmètre : 12.071067811865476
public Complexe plus( Complexe c) ; Le triangle est isocèle
public Complexe moins( Complexe c) ; Exercice 3 : manipuler des tableaux
public Complexe multiplier ( Complexe c) ; 1/Compléter la squelette de la classe suivante :
public Complexe diviser ( Complexe c) ; class ManipTableau
public static Complexe creerC (double pReel, double pIm) ; {private int[] tab ;
public static Complexe plus (Complexe c1, Complexe c2) ; ManipTableau(int n){…}// alloue un tableau de dimension n
void remplir (){…}// remplit le tableau par des valeurs générés
public static Complexe moins (Complexe c1, Complexe c2) ; aléatoirement entre 0 et 100.
public static Complexe multiplier (Complexe c1,Complexe c2) ; float moyenne (){…}// calcule la moyenne du tableau
public static Complexe diviser (Complexe c1,Complexe c2) ; int somme (){…} calcule la somme des éléments du tableau
public String toString() ;} int max(){…} //retourne la valeur maximale
int min(){…} //retourne la valeur minimale
2. Ecrire une classe EssaiComplexe qui met en œuvre les différentes méthodes de int rechercher( int e){} recherche l’indice de l’élément e sinon elle
la classe Complexe. retourne -1
Exercice 2: void affiche(String separateur){…}// affiche les éléments du tableau
séparés par le « séparateur »
Soit un triangle ABC dont les sommets A, B et C sont définis par leurs coordonnées
2/ écrire la classe EssaiManipTableau contenant une méthode main pour tester
x et y.
1) Définissez la classe Point. les méthodes précédemment définies
▪ Un point est muni de deux coordonnées x et y. 3/Faites le nécessaire pour ajouter une méthode maxMin, à la classe
ManipTableau, qui retourne à la fois la valeur min et la valeur max du tableau :
1
• 1er façon : reçoit un paramètre 2/ Ecrire la classe EssaiDate qui permet de donner les résultats de l’exécution
suivants :
• 2eme façon : sans paramètres Bissextile 1900 : false
Bissextile 1920 : true
• 3eme façon : reçoit en paramètre un tableau Au 3/2/2003

• 3eme façon : sans paramètres et retourne un tableau Nombre de jours écoulés : 34


Nombre de jours restants :331
Exercice 4 : Gérer une pile d'entiers Nombre de jours écoulés entre le 1/1/1900 et le 1/1/2000 = 36525
1/ Il s'agit de définir une classe modélisant une pile d'entiers. Nécessairement, tous
les attributs de cette classe auront le modificateur private, ce qui signifie qu'on ne Exercice 6 : Gérer un tableau d’objets
peut pas les utiliser directement de l'extérieur de la classe (on dit encore qu'ils ne Créez une classe Etagere pour représenter une étagère qui peut contenir un certain
sont visibles que de leur propre classe). Cette classe possèdera les méthodes nombre de livres (fixe pour chaque étagère). Vous utiliserez un tableau pour ranger
suivantes (il faudra reprendre exactement les en-têtes indiquées) : les livres. Un livre est représenter par une classe Livre ( titre : String, auteur : String,
• pubic Pile (int max) int nbrPage, double prix) que vous supposez son existence.
• pubic Pile()//construire par défaut une pile de 100 entiers • Le constructeur prendra en paramètre le nombre de livres que pourra contenir
• private erreur(String message)//Affiche un message d’erreur
l'étagère.
• Vous ajouterez des méthodes pour :
• pubic void empiler(int n) :Cette méthode empile la valeur n
• Donner le nombre de livres que peut contenir l'étagère, et le nombre de
reçue en paramètre.
livres qu'elle contient.
• pubic int depiler()
o Ajouter des livres ("void ajouter(Livre)"). Vous ajouterez les livres à la
• pubic boolean estVide():Cette méthode retourne true si la
suite des livres déjà ajoutés dans l'étagère ; le premier livre est ajouté au
pile est vide et false dans le cas contraire.
début de l'étagère (au début du tableau). Il devra être impossible d'ajouter
• pubic boolean estPleine() des livres dans une étagère pleine.
• pubic void listerPile()//affiche le contenu de la pile o Récupérer un livre dont on donne la position sur l'étagère. La méthode
1. Ecrire la classe de test EssaiePile avec certain affichage. renverra une instance de Livre. La position du premier livre d'une étagère
2. Réécrire la classe Pile en utilisant la structure ArrayList au lieu d’un devra être 1 (et pas 0, bien que le livre soit rangé dans la première position
tableau. du tableau, qui est d'indice 0). La signature de la méthode sera "Livre
Exercice 5 : Manipulation de dates getLivre(int)".
1/ On souhaite écrire la classe Date qui gère des dates. Les attributs jour, mois, an o Chercher sur l'étagère un livre repéré par son titre et son auteur. La méthode
sont mémorisés comme des entiers. Ecrire alors les méthodes « pubiques » renverra la position du livre dans l'étagère (ou 0 si le livre n'y est pas). Le
suivantes : profil de la méthode sera "int chercher(String, String)". S'il y a
• Date (int j, int m, int an) ; plusieurs livres avec le même titre et le même auteur, la méthode renvoie
• String toString () ; celui qui a le plus petit indice.
• boolean bissex () ;// teste si l’année est bissextile o Enlever des livres. Vous "tasserez" les livres vers le début quand vous
• int nbJoursEcoules() // nombre de jours écoulés depuis le début enleverez des livres. Vous écrirez 2 méthodes de même nom pour enlever
de l’année un livre :
• int nbJoursrestants() // nombre de jours restants dans l’année ▪ une méthode qui repèrera le livre par sa position (1 pour le premier
• int static boolean bissex(int annee) ;
livre) dans l'étagère (de profil "Livre enleverLivre(int)"),
• static long nbJoursEntre(Date1, Date2)

2
▪ une méthode qui repèrera le livre par son auteur et son titre, et qui
utilisera la méthode chercherLivre (de profil "Livre
enleverLivre(String, String)").
Les 2 méthodes renverront le livre supprimé (ou null si le livre n'a pas été
trouvé).
o Renvoyer une description d'une étagère (la fameuse, et bien utile, méthode
toString()). Utilisez-la dès le début, par exemple pour tester la méthode
ajouter.
Dans la méthode main(), vous créerez des livres, 2 étagères et ajouterez les livres
dans les étagères. Vous chercherez un des livres dans une étagère ; s'il y est, vous
ferez afficher son nombre de pages. Vous rechercherez tous les livres d'un auteur et
les ferez afficher. Vous supprimerez un des livres d'une étagère. Vous ferez afficher
à chaque fois que nécessaire les étagères modifiées (en utilisant la méthode
toString()).

Vous aimerez peut-être aussi