0% ont trouvé ce document utile (0 vote)
194 vues4 pages

TAF1Chap5 Classes Java

Ce document décrit trois exercices sur la programmation orientée objet en Java. Le premier exercice concerne la création d'une classe Sportif pour représenter des caractéristiques physiques. Le deuxième exercice porte sur une classe Rationnel pour représenter des nombres rationnels. Le troisième exercice traite de classes pour la gestion de comptes bancaires.

Transféré par

BA
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)
194 vues4 pages

TAF1Chap5 Classes Java

Ce document décrit trois exercices sur la programmation orientée objet en Java. Le premier exercice concerne la création d'une classe Sportif pour représenter des caractéristiques physiques. Le deuxième exercice porte sur une classe Rationnel pour représenter des nombres rationnels. Le troisième exercice traite de classes pour la gestion de comptes bancaires.

Transféré par

BA
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

UVT - N2TR C++&Java

TAF1Ch5 : Classes Java


 Exercice 1   :

On souhaite développer un programme en Java qui permet d’introduire des informations sur un
sportif et évaluer son état de santé. Pour cela, on définit la classe Sportif décrite par :
- Un attribut privé de type entier : taille (qui exprime la taille du sportif en cm)
- Un attribut privé de type double : poids (qui exprime le poids en Kg)
- Les accesseurs et les mutateurs des 2 attributs
- La méthode calculerIMC qui permet de renvoyer l’Indice de Masse Corporelle qui se
calcule selon la formule suivante :
IMC = poids / (taille)2 avec la taille exprimée en mètres
- La méthode interpretation qui renvoie une chaîne définissant l’interprétation de L’IMC
calculé conformément au tableau suivant :

IMC (kg·m−2) Interprétation


Moins de 16,5 Anorexie
16,5 à 18,5 Maigreur
18,5 à 25 Poids idéal
25 à 30 Surpoids
30 à 35 Obésité modérée
35 à 40 Obésité sévère
plus de 40 Obésité massive

- La méthode afficher qui affiche les caractéristiques d’un sportif sous le format suivant :
«Poids = …. Taille = …. IMC =…. »
- La méthode comparerSportifs qui renvoie un booléen indiquant si 2 sportifs ont la même
interprétation de leur IMC.
Travail demandé :
- Implémenter la classe Sportif telle que décrite
- Implémenter une classe Application contenant un programme principal permettant de :
- Créer 2 sportifs
- Initialiser les 2 instances avec des valeurs de votre choix
- Afficher les caractéristiques des 2 sportifs
- Afficher l’interprétation de l’IMC de chaque sportif
- Afficher si les 2 sportifs ont la même interprétation ou non.
UVT - N2TR C++&Java

- Modifier le programme principal pour que l’utilisateur puisse introduire les valeurs du poids
et de la taille

 Exercice 2   :

L’objectif de cet exercice est d’écrire un programme Java qui permet d’effectuer un ensemble
d’opérations sur des nombres rationnels.
Soit la classe Rationnel possédant :
- Deux attributs privés num et denum pour désigner respectivement le numérateur et le
dénominateur.
- Les accesseurs et les mutateurs des différents attributs
- Un constructeur sans argument
- Un constructeur paramétré par deux valeurs.
- Un constructeur de copie
- La méthode convertir qui renvoie le nombre réel associé au rationnel
- La méthode inverser qui permet d’inverser un rationnel (L’inverse de 2/3 est 3/2)
- La méthode somme qui renvoie le rationnel qui résulte de la somme de deux rationnels
- La méthode afficher qui affiche le rationnel sous forme x/y

Travail demandé :
1. Implémenter la classe Rationnel
2. Implémenter une classe de Application contenant un programme principal permettant de :
- Créer un rationnel r1 correspondant à 1/3
- Créer un deuxième rationnel r2 puis l’initialiser à 3/4
- Afficher le résultat de la conversion de r1
- Inverser r2 et l’afficher
- Afficher la somme des 2 rationnels créés
- Créer un rationnel r3 équivalent à r1 et afficher son inverse.

 Exercice 3   : 

L’objectif de l’exercice est d’écrire un programme JAVA qui effectue un ensemble d’opérations sur
des comptes bancaires.
Partie 1 :
Soit la classe Compte décrite par :
- Un numéro de compte : numCompte
- Un attribut statique nommé nbComptes qui indique le nombre de comptes créés
UVT - N2TR C++&Java

- Un solde : solde
- Les accesseurs des différents attributs
- Un constructeur paramétré (qui prend le solde en paramètre). A noter que le numéro du
compte est incrémental, le premier compte a pour numéro 1000.
- Une méthode verser permettant d’alimenter le compte bancaire d’un montant donné
- Une méthode retirer qui permet de mettre à jour le solde après une opération de retrait d’un
montant donné. Cette méthode renvoie un booléen pour indiquer si l’opération peut être
effectuée ou non (solde insuffisant)
- Une méthode afficher qui affiche les détails d’un compte sous format « Compte num = ….
Solde =…. »

Travail demandé :
1. Implémenter la classe Compte telle que décrite
2. Implémenter une classe Application qui comprend un programme principal permettant de :
- Créer 2 comptes c1 et c2 ayant pour solde respectivement 120.5 et 1850.5
- Afficher les caractéristiques de chaque compte
- Verser 200 dinars au compte c2 et l’afficher
- Tester l’opération de retrait pour différentes valeurs sachant que le programme:
 affiche les propriétés du compte si le retrait réussit
 affiche un message d’erreur en indiquant le montant maximum pouvant être retiré

Partie 2 :
Soit la classe OperationsBancaires décrite par :
- Un attribut statique tabComptes qui est un tableau de 100 Comptes
- Un attribut statique nb qui définit le nombre de comptes dans le tableau
- Une constante SOLDE_MIN qui définit le solde minimum à partir duquel il est possible de
créer un compte.
Ainsi que les méthodes statiques suivantes :
- L’accesseur de l’attribut nb
- creerCompte qui prend en argument le montant et qui renvoie un compte créé sachant que
pour créer un compte, il faut qu’il soit alimenté par un montant minimum supérieur à
SOLDE_MIN
- ajouterCompte qui ajoute un compte, passé en paramètre, au tableau des comptes et renvoie
si l’opération est réussie ou non
UVT - N2TR C++&Java

- positionCompte qui prend en argument un numéro de compte et renvoie sa position dans le


tableau s’il existe, -1 sinon
- verserCompte qui permet de verser un montant dans un compte dont le numéro est
également passé en argument
- retirerCompte qui permet de retirer un montant à partir d’un compte dont le numéro est
également passé en argument. La méthode renvoie si l’opération est réussie ou non.
- supprimerCompte qui supprime du tableau un compte passé en paramètre.
- supprimerCompte qui supprime du tableau un compte dont le numéro est passé en
paramètre.
- afficherComptes qui affiche le numéro et le solde de tous les comptes.
- afficherComptes qui affiche les caractéristiques des comptes dont le solde dépasse une
valeur passée en paramètre

Travail demandé :
1. Implémenter la classe OperationsBancaires telle que décrite

2. Tester, dans la classe Application, les différentes méthodes de la classe


OperationsBancaires.

3. On suppose que 2 banques différentes souhaitent bénéficier des opérations bancaires


offertes par la classe OperationsBancaires pour gérer leurs portefeuilles de comptes
clients. Est-ce que c’est possible avec l’implémentation actuelle de la classe ? Expliquer.
S’il y a des modifications à apporter, les détailler.

Vous aimerez peut-être aussi