Vous êtes sur la page 1sur 17

Exercice N° 20

Créer une classe compte dont les attributs membres sont :


Numero int
Solde float
Propriete String

1) Implémenter la classe compte


2) Créer un constructeur par défaut
3) Créer un constructeur qui utilise le numéro et le solde comme argument
4) Créer une méthode qui accède au solde
5) Créer une méthode qui accède au numéro de compte
6) Créer une méthode appelée dépiter qui retire un montant M du solde
Il faut contrôler que le montant M doit être inférieur au solde
7) Créer une méthode appeler créditer qui ajoute un montant M au solde
Redéfinir la méthode toString
9) Créer une variable de classe qui permet de compter le nombre des comptes bancaires
qui sont ouverts
10) Soit la classe compte_Epargne une classe qui étend la classe Compte, l’attribut de la
nouvelle est : taux=0.05
a. Créer cette nouvelle classe
b. Créer une méthode qui permet de calculer l’intérêts : taux*solde

Solution

La classe Compte
public class Compte {
private int numero;
private float solde;
private String propriete;
private static int comptes=0;
protected Compte(){

}
protected Compte(int num,float sol,String propriete){
numero=num;
solde=sol;
this.propriete=propriete;
comptes++;
}
protected float solde()
{
return solde;
}
protected int numero_compte(){
return numero;
}
protected void debiter(float M){
if (M<=solde)
solde-=M;
}
public String toString()
{
return numero+" "+solde+propriete;
}
protected void finalize(){
System.out.println("le compte qui porte le numero "+numero+" a ete detruit avec
success");
comptes--;
}
}

La classe compte_Epargne
public class compte_Epargne extends Compte{
private float taux=0.05f;
public compte_Epargne(int num,float solde,String propriete,float taux){
super(num,solde,propriete);
this.taux=taux;
}
public float interets(){
return taux*super.solde();
}
}

Exercice N° 21

Voici le source de la classe Livre :


public class Livre {
// Variables
private String titre, auteur;
private int nbPages
// Constructeur
public Livre(String unAuteur, String unTitre) {
auteur = unAuteur;
titre = unTitre;
}
// Accesseur
public String getAuteur() {
return auteur;
}
// Modificateur
void setNbPages(int n) {
nbPages = nb;
}
Corrigez quelques petites erreurs et ajoutez une méthode main() pour
Créer 2 livres,
Faire afficher les auteurs de ces 2 livres.
Solution

public class Livre {


// Variables
private String titre, auteur;
private int nbPages;
// Constructeur
public Livre(String unAuteur, String unTitre) {
auteur = unAuteur;
titre = unTitre;
}
// Accesseur
public String getAuteur() {
return auteur;
}
// Modificateur
void setNbPages(int n) {
nbPages = n;
}

Exercice N° 22

accesseurs et modificateurs
Modifiez la classe Livre :
Ajoutez un accesseur pour la variable titre et la variable nbPages.
Ajouter un modificateur pour les variables auteur et titre.
Changez le modificateur de nbPages : il ne devra changer le nombre de pages que si on
lui passe en paramètre un nombre positif, et ne rien faire sinon, en affichant un message
d'erreur. On remarquera l'intérêt des variables private : on peut contrôler leur
modification dans les éventuelles méthodes qui permettent de les modifier.
Dans la méthode main(),
indiquez le nombre de pages de chacun des 2 livres,
faites afficher ces nombres de pages,
calculez le nombre de pages total de ces 2 livres et affichez-le.

Solution

public class Livre {


// Variables
private String titre, auteur;
private int nbPages;
// Constructeur
public Livre(String unAuteur, String unTitre) {
auteur = unAuteur;
titre = unTitre;
}
// Accesseur
public String getAuteur() {
return auteur;
}
// Modificateur
void setNbPages(int n) {
if(n>0)
nbPages = n;
else
System.err.println("le nombre des pages ne doit pas etre negatif");
}
public int getnbPages(){
return nbPages;
}
public String getTitre(){
return titre;
}
public void setAuteur(String aut){
auteur=aut;
}
public void setTitre(String tit){
titre=tit;
}

public static void main(String[]args){


Livre l1=new Livre("standhal","le rouge et le noir");
Livre l2= new Livre("john anouilh","Antigone");
System.out.println(l1.getAuteur()+"\n"+l2.getAuteur());
l1.setNbPages(5);
l2.setNbPages(6500);
System.out.println("le nombre des pages du 1er livre :"+l1.getnbPages()+"\nle nombre
des pages du 2eme livre :"+l2.getnbPages());
int nbrpages;
nbrpages=l1.getnbPages()+l2.getnbPages();
System.out.println("le nombre des pages de ces deux livres est :"+nbrpages);
}
}

Exécution
standhal
john anouilh
le nombre des pages du 1er livre :5
le nombre des pages du 2eme livre :6500
le nombre des pages de ces deux livres est :6505

Exercice N° 23

2 classes dans 2 fichiers source pour une application


Ecrivez une classe TestLivre dans un fichier TestLivre.java. Cette classe a une seule
méthode main() qui fait ce que fait la méthode main() de la classe Livre.
Faites exécuter la méthode main() de la classe TestLivre.
Solution

public class TestLivre {


public static void main(String[] args) {
Livre l1=new Livre("Nabil droussi","moi et java");
Livre l2= new Livre("Nabil droussi","the world of coders");
System.out.println(l1.getAuteur()+"\n"+l2.getAuteur());
l1.setNbPages(5);
l2.setNbPages(6500);
System.out.println("le nombre des pages du 1er livre :"+l1.getnbPages()+"\nle nombre
des pages du 2eme livre :"+l2.getnbPages());
int nbrpages;
nbrpages=l1.getnbPages()+l2.getnbPages();
System.out.println("le nombre des pages de ces deux livres est :"+nbrpages);
}

Exécution
Nabil droussi
Nabil droussi
le nombre des pages du 1er livre :50
le nombre des pages du 2eme livre :730
le nombre des pages de ces deux livres est :780

Exercice N° 24

méthode toString()
Dans la classe Livre, ajoutez une méthode afficheToi() qui affiche une description du
livre (auteur, titre et nombre de pages). Utilisez afficheToi() dans la méthode main() de
TestLivre.
Ajoutez l'instruction System.out.println(livre) où livre désigne un des livres que vous
avez créés. Vous essaierez de comprendre ce qui est affiché après avoir fait les 2
questions suivantes.
Ajoutez une méthode toString() qui renvoie une chaîne de caractères qui décrit le livre.
Donnez à la méthode toString() le même profil que la méthode de même nom de la classe
java.lang.Object (cherchez dans les API du JDK).
Modifiez la méthode afficheToi() pour utiliser toString().
Voyez ce qui est affiché maintenant par l'instruction System.out.println(livre).

Solution

public String toString(){


return auteur+" "+titre+" "+nbPages;
}

Exécution
john anouilh Antigone 6500

Exercice N° 25

Ajoutez 2 constructeurs pour avoir 3 constructeurs dans la classe :


un constructeur qui n'a pas de paramètre
un qui prend en paramètre l'auteur et le titre du livre,
et l'autre qui prend en plus le nombre de pages.
Utilisez les 3 constructeurs (et éventuellement d'autres méthodes) pour créer 3 livres de
300 pages dans la méthode main() de TestLivre.

Solution

public class Livre {


// Variables
private String titre, auteur;
private int nbPages;
// Constructeur
public Livre(String unAuteur, String unTitre) {
auteur = unAuteur;
titre = unTitre;
}
public Livre(){

}
public Livre(String unAuteur, String unTitre,int nbpages) {
auteur = unAuteur;
titre = unTitre;
this.nbPages=nbpages;
}
// Accesseur
public String getAuteur() {
return auteur;
}
// Modificateur
void setNbPages(int n) {
if(n>0)
nbPages = n;
else
System.err.println("le nombre des pages ne doit pas etre negatif");
}
public int getnbPages(){
return nbPages;
}
public String getTitre(){
return titre;
}
public void setAuteur(String aut){
auteur=aut;
}
public void setTitre(String tit){
titre=tit;
}
public String toString(){
return auteur+" "+titre+" "+nbPages;
}
}

//la classe de test

public class TestLivre {


public static void main(String[] args) {
Livre l1=new Livre("Nabil droussi","Java",300);
Livre l2=new Livre("standhal","Le rouge et le noir",300);
Livre l3=new Livre("moi","tous sur java",300);
}

Exercice N° 26

contrôle des variables private par les modificateurs


Ajoutez un prix aux livres (nombre qui peut avoir 2 décimales ; type Java float ou
double) avec 2 méthodes getPrix et setPrix pour obtenir le prix et le modifier. Ajoutez au
moins un constructeur qui prend le prix en paramètre. Testez.
Si le prix d'un livre n'a pas été fixé, la description du livre (toString()) devra indiquer
"Prix pas encore fixé".

Solution

public class Livre {


// Variables
private String titre, auteur;
private int nbPages;
private double prix=0;
// Constructeur
public Livre(String unAuteur, String unTitre) {
auteur = unAuteur;
titre = unTitre;
}
public Livre(){

}
public Livre(String unAuteur, String unTitre,int nbpages) {
auteur = unAuteur;
titre = unTitre;
this.nbPages=nbpages;
}
public Livre(String unAuteur,String unTitre,int nbpages,double prix) {
this.prix=prix;
auteur = unAuteur;
titre = unTitre;
this.nbPages=nbpages;
}
// Accesseur
public String getAuteur() {
return auteur;
}
// Modificateur
void setNbPages(int n) {
if(n>0)
nbPages = n;
else
System.err.println("le nombre des pages ne doit pas etre negatif");
}
public int getnbPages(){
return nbPages;
}
public String getTitre(){
return titre;
}
public void setAuteur(String aut){
auteur=aut;
}
public void setTitre(String tit){
titre=tit;
}
public String toString(){
return auteur+" "+titre+" "+nbPages;
}
public void setPrix(double p){
prix=p;
}
public double getPrix()
{
return prix;
}
public String toSting(){
String s=null;
if(prix==0){
return "Titre :"+titre+" - auteur :"+auteur+" - nombre de pages :"+nbPages+" - prix :
Prix pas encore fixé";
}else
{ return "Titre :"+titre+" - auteur :"+auteur+" - nombre de pages :"+nbPages+" - prix
:"+prix;
}}
public static void main(String[]args){
Livre l=new Livre("Nabil droussi","java exercices",300,15.99);
Livre l2=new Livre("howari", "hona wa honak ",250) ;
System.out.println(l.toString());
}
}

Exécution
Titre : java exercices - auteur : Nabil droussi - nombre de pages :300 - prix :15.99
Titre : hona wa honak - auteur : howari - nombre de pages :250 - prix : Prix pas encore
fixé

Exercice N° 27

Construit la classe Personne dans les attributs Nom,Prenom et Sportpratiqué


Et ajouter un constructeur et une methode toString.
Construit une autre classe Salarie qui etand la classe personne et en lui ajoutant un
salaire, et ajouter a cette classe une methode to String.

Solution

La classe Personne

public class Personne {

private String nom;


private String prenom;
private String SportPratique;
public Personne(String nom,String Prenom,String SP){
this.nom=nom;
prenom=Prenom;
SportPratique=SP;
}
public String getnom(){
return nom;}
public void setnom(String nom){
this.nom=nom;
}
public String getprenom(){
return prenom;}
public void setprenom(String prenom){
this.prenom=prenom;
}
public String getSportPratique(){
return SportPratique;}
public void setSportPratique(String SportPratique){
this.SportPratique=SportPratique;
}
public String toString() {

return "nom :"+ nom+" ,prenom :"+ prenom + " ,SportPratique :"+ SportPratique;
}

La classe salarie

public class salarie extends Personne {


private double salaire;
public salarie(String nom,String prenom,String SportPratique,double Salaire) {
super(nom,prenom,SportPratique);
salaire=Salaire;
}
public double getSalaire() {
return salaire;
}
public void setSalaire(double salaire) {
this.salaire = salaire;
}
public String toString(){
return super.toString()+" Salaire:"+salaire;
}
public static void main(String[] args) {

salarie s1=new salarie("Droussi","Nabil","Basket-ball",500);


salarie s2=new salarie("jilali","ferhati","Unknown",52100);
System.out.println("Personne 1:"+s1.toString()+"\nPersonne 2:"+s2.toString());
}

Exécution
Personne 1:nom :Droussi ,prenom :Nabil ,SportPratique :Basket-ball ,Salaire:500.0
Personne 2:nom :jilali ,prenom :ferhati ,SportPratique :Unknown ,Salaire:52100.0

Exercice N° 28

Ecrit un programme java qui permet au utilisateur d’entrer le nom,prenom et date de


naissance et de les enregistrer dans un fichier binaire

Solution

import java.io.*;
public class Lire_fichier_binaire {

public static void main(String[] args) throws Exception{


String nom,prenom;
int datenaiss;
DataOutputStream entree=new
DataOutputStream(new FileOutputStream("c:\\etudiants.bin",true));
char rep='o';
do
{
System.out.print("nom :");
nom=Clavier.lireString();
System.out.print("prenom :");
prenom=Clavier.lireString();
System.out.print("date de naissance :");
datenaiss=Clavier.lireInt();
entree.writeChars(nom);
entree.writeChars(prenom);
entree.writeInt(datenaiss);
entree.flush();
System.out.println("Voulez vous faire une autre enregistrement o/n");
}while((rep=clavier1.lireChar())=='o');
entree.close();
}
}

Exécution
nom :Droussi
prenom :Nabil
date de naissance :1986
Voulez vous faire une autre enregistrement o/n
o
nom :droussi
prenom :Mhammed
date de naissance :1955
Voulez vous faire une autre enregistrement o/n
n

Exercice N° 29

Ecrit un programme qui permet de lire le fichier binaire qu’on a crée dans l’exo 28
Solution

import java.io.*;
public class Creation_fichier_binaire {

public static void main(String[] args) throws Exception{


String nom,prenom;
int datenaiss;
DataInputStream sortie=null;
try
{
sortie=new DataInputStream(new FileInputStream("c:\\etudiant.bin"));
} catch(FileNotFoundException e){
System.err.println("Fichier introuvable");
}
while(true)
{
try
{
nom=sortie.readUTF();
prenom=sortie.readUTF();
datenaiss=sortie.readInt();
System.out.println(nom +" "+prenom+" "+datenaiss);}
catch(Exception e){
System.exit(0);
}
}
}
}

Vous aimerez peut-être aussi