TP 3 Java
TP 3 Java
TP 3 Java
TP3
Partie 1
Exercice 1.1 utilisation d’une classe
Voici le texte d’une classe représentant de façon sommaire un compte bancaire et les
opérations bancaires courantes.
class Compte{
int solde = 0;
void deposer(int montant){
solde = solde + montant;
}
void retirer(int montant){
solde = solde -montant;
}
void virerVers(int montant, Compte destination){
this.retirer(montant);
destination.deposer(montant);
}
void afficher(){
Terminal.ecrireString("solde: "+ solde);
}
}
Question 1
Question 2
Créez deux comptes que vous affecterez à deux variables. Ecrivez le code correspondant aux
opérations suivantes :
– dépot de 500 euros sur le premier compte.
– dépot de 1000 euros sur le second compte.
– retrait de 10 euros sur le second compte.
– virement de 75 euros du premier compte vers le second.
– affichage des soldes des deux comptes.
Vous mettrez le code java correspondant à cette question dans la méthode main d’une
nouvelle classe appelée TesteCompte. Vous compilerez et testerez ce programme.
Master Spécialisé Mécatronique
Question 3
Créez un tableau de dix comptes. Pour cela, notez bien qu’il faut d’abord créer le tableau puis
créer successivement les dix comptes à mettre dans les dix cases de ce tableau.
Dans chaque case, faites un dépot de 200 euros plus une somme égale à 100 fois l’indice du
compte dans le tableau.
Ensuite, vous ferez un virement de 20 euros de chaque compte vers chacun des comptes qui
le suivent dans le tableau (par exemple, du compte d’indice 5, il faut faire des virements vers
les comptes d’indice 6, 7, 8 et 9).
Enfin, vous afficherez les soldes de tous les comptes.
Ici encore, vous testerez et compilerez le code proposé.
Question 1
Complétez la classe Compte avec une information supplémentaire : le nom du titulaire
du compte (type String). Vous modifierez la méthode d’affichage pour qu’elle affiche cette
information.
Question 2
Créez un constructeur pour la classe Compte. Ce constructeur doit prendre en paramètre
le nom du titulaire du compte.
Donnez le code de création d’un compte qui appelle ce constructeur.
Question 3
Faut-il prévoir des méthodes permettant de changer le nom du titulaire du compte ?
res.y = n*2;
res.nom = "Auto_"+n;
return res;
}
boolean plusGrand(Exo12_3 obj){
if (obj.x == x){
return y>obj.y;
}else{
return x>obj.x;
}
}
boolean compare(Exo12_3 obj1, Exo12_3 obj2){
if (obj1.x == obj2.x){
return obj1.y>obj2.y;
}else{
return obj1.x>obj2.x;
}
}
}
class Exo12_4{
public static void main(String[] argv){
Compteur c1, c2, c3;
c1 = new Compteur(0);
c1.incremente();
c2 = new Compteur(1);
c3 = c1;
if (c1 == c3){
Terminal.ecrireStringln("c1 et c3 sont égaux");
}else{
Terminal.ecrireStringln("c1 et c3 ne sont pas égaux");
}
if (c1.getValeur() == c2.getValeur()){
Terminal.ecrireStringln("c1 et c2 ont même
valeur");
}else{
Terminal.ecrireStringln("c1 et c2 n’ont pas la même valeur");
}
if (c1 == c2){
Terminal.ecrireStringln("c1 et c2 sont égaux");
}else{
Terminal.ecrireStringln("c1 et c2 ne sont pas égaux");
}
if (c1.getValeur() == c1.incremente().getValeur()){
Terminal.ecrireStringln("c1 et c1 incremente ont même
valeur");
Master Spécialisé Mécatronique
}else{
Terminal.ecrireStringln("c1 et c1 incremente n’ont pas la même valeur");
}
if (c1 == c1.incremente()){
Question : quelles classes faut-il créer ? Quelles informations faut-il dans chaque classe
? Quelles méthodes faut-il écrire, et dans quelle classe les mettre ? Pour chaque méthode,
précisez le type des paramètres et de la valeur de retour.
Master Spécialisé Mécatronique
Partie 2
Exercice 2.1 comptes (suite)
On veut améliorer et compléter la classe Compte suivante :
class Compte{
int solde = 0;
void deposer(int montant){
solde = solde + montant;
}
void retirer(int montant){
solde = solde -montant;
}
void virerVers(int montant, Compte destination){
destination.retirer(montant);
this.deposer(montant);
}
void afficher(){
Terminal.ecrireString("solde: "+ solde);
}
}
\endash modifier la méthode retirer pour empêcher le retrait quand le compte n’est pas
suffisament approvisionné.
\endash modifier la classe pour ajouter à chaque compte un numéro de compte.
Question 1
Ecrivez une classe permettant de représenter des livres avec le titre, le nom de l’auteur
et l’éditeur. Les opérations consisteront en saisir un livre, ce qui crée un nouvel objet et
afficher les informa-tions d’un objet livre. Vous ferez attention pour chaque opération de
déterminer si ce doit être une méthode statique ou non.
Question 2
Une bibliothèque est une collection de plusieurs livres. Les livres seront représentés au
moyen de la classe écrite pour répondre à la question 1. Ecrivez une classe bibliothèque
permettant de stocker plusieurs livres, avec deux opérations : ajouter un livre, afficher le
Master Spécialisé Mécatronique
contenu de la bibliothèque. Vous écrirez une méthode main qui crée un ou deux livres, une
bibliothèque et qui appelle les différentes méthodes disponibles.