Exercices corrigée sur les classes Java - POO Java

Exercice 1

1 – Créer une classe Java nommée Compte   qui représente un compte bancaire de visibilité public, ayant pour attributs : public  Double solde
2 - Créer un constructeur ayant comme  paramètre solde.
3 - Créer une méthode deposer() du type void qui gère les versements
4 - Créer une méthode retirer() du type void qui gère les retraits.
5 - Créer une méthode afficher()  du type void permettant d'afficher le solde
6 - Donner le code complet de la classe Compte
7 - Créer une classe  TestCompte permettant de tester le compte en effectuant un versement et puis un retrait

Solution :

1 - Création de la classe  Compte Java

public class Compte {
    Double solde;
}

2 - Création du constructeur avec paramètre

public class Compte {
	Double solde;
	public Compte( Double s){
		this.solde=s;
	}
}

3 - 4 Création des méthode deposer() et retirer()

	public  void deposer(double d){
		this.solde+=d;
	}
	public void retirer(double r){
		this.solde-=r;
	}

5 - Création de la méthode afficher()

public void afficher(){
System.out.println("Votre solde est  " + this.solde +" Euro "+" sauf erreur ou omission");
}

6 - Code complet de la classe Compte

public class Compte {
	Double solde;
	public Compte( Double s){
		this.solde=s;
	}
	public  void deposer(double d){
		this.solde+=d;
	}
	public void retirer(double r){
		this.solde-=r;
	}
public void afficher(){
System.out.println("Votre solde est  " + this.solde +" Euro "+" sauf erreur ou omission");
}
}

7 - Création de la classe TestCompte pour tester les opérations bancaires

public class TestCompte {

	public static void main(String[] args) {

Compte monCompte=new Compte(5000.0);
monCompte.deposer(3000);
monCompte.retirer(2000);
monCompte.afficher();
	}
}

Ce qui affiche après exécution sur Eclipse :

Votre solde est  6000.0 Euro  sauf erreur ou omission

Exercice 2

1 - Créer une classe  Voiture  Java de visibilité public, ayant pour attributs : String marque
,  Double prix,  de visibilité public.
2 - Créer un constructeur sans paramètres ( par défaut )
3 - Créer les getters et setters
4 - Créer une méthode void afficher( ) permettant d'afficher les résultats
5 - Donner le code final de la classe.
6 - Créer une classe Exécution de visibilité public permettant d'exécuter les résultats.

Solution :
1 - Création de la classe Voiture :

public class Voiture {
	public String marque;
	public Double prix;
	
}

 2 - Constructeur sans paramètres

public class Voiture {
	public String marque;
	public Double prix;
	
public Voiture() {

	}
}

3 - Création des getters et setters


/* Création des setters */
public  void setMarque(String mq){
	this.marque=mq;
}
public  void setPrix(Double  pr){
   this.prix=pr;
}
/* Création des getters */
public String getMarque(){
	return marque;
}
public Double getPrix(){
	return prix;
}

4 - Création de la méthode void afficher( )

public  void afficher() {

	System.out.println("La marque de ma voiture est : "+ this.marque );
	System.out.println("La prix de ma voiture est : "+ this.prix + " Euro" );
	}

5 - Code final de la classe

public class Voiture {
	public String marque;
	public Double prix;
	
public Voiture() {

	}

/* Création des setters */
public  void setMarque(String mq){
	this.marque=mq;
}
public  void setPrix(Double  pr){
   this.prix=pr;
}

/* Création des getters */
public String getMarque(){
	return marque;
}
public Double getPrix(){
	return prix;
}

	public  void afficher() {
	System.out.println("La marque de ma voiture est : "+ this.marque );
	System.out.println("La prix de ma voiture est : "+ this.prix + " Euro" );
	}

}

6 - Création de la classe Exécution

public class Exécution {

	public static void main(String[] args) {
		Voiture maVoiture=new Voiture();
		maVoiture.setMarque("Renault");
		maVoiture.setPrix(17500.0);
		maVoiture.afficher();
	}
}

L'exécution sur Eclipse du code ci-dessus affiche :
La marque de ma voiture est : Renault
La prix de ma voiture est : 17500.0 Euro

Exercice 3

1 - Créer une classe Java nommée Rectangle ayant pour attributs  : Longueur et Largeur tous deux du type Double, ajouter ensuite un constructeur avec paramètres.
2 - Définir une méthode  surface() du type Double permettant de calculer la surface du rectangle et une méthode périmètre() du type Double permettant de calculer le périmètre du rectangle.
3 - Créer une méthode  afficher() du type void pour afficher les résultats. Donner ensuite le code complet de la classe.
4 - Créer une classe TestRectangle pour afficher les résultats surface et périmètre.

Solution :

1 – Création de la classe Rectangle

public class Rectangle {
	Double Longueur;
	Double Largeur;
	public Rectangle(Double L,Double l){
		this.Longueur=L;
		this.Largeur=l;
	}
}

2 - Création des méthodes surface() et périmètre()

public Double surface(){
	return this.Longueur*this.Largeur;
}
public Double périmètre(){
	return 2*(this.Longueur+this.Largeur);
}

3 - Création de la méthode afficher()

public void afficher(){
System.out.println("La surface du rectangle est : " + this.surface());	
System.out.println("Le périmètre du rectangle est : " + this.périmètre());
}

Code complet de la classe

public class Rectangle {
	public Double Longueur;
	public Double Largeur;
public Rectangle(Double L,Double l){
	this.Longueur=L;
	this.Largeur=l;		
	}
public Double surface(){
	return this.Longueur*this.Largeur;
}
public Double périmètre(){
	return 2*(this.Longueur+this.Largeur);
}
public void afficher(){
System.out.println("La surface du rectangle est : " + this.surface());	
System.out.println("Le périmètre du rectangle est : " + this.périmètre());
}
}

4 - Création de la classe TestRectangle

public class TestRectangle {
public static void main(String[] args) {
Rectangle monRectangle=new Rectangle(7.0,5.0);
monRectangle.afficher();
	}
}

Exercice 4

1 – Créer un package Java sous Eclipse nommé geometry
2 – Au sein du package geometry créer une classe Java nommée Point ayant pour attribut Double Abscisse et double ordonnee
3 – Au sein du même package créer une classe Cercle doté d'un attribut centre du type Point. Et des méthodes suivantes :
- périmètre() du type Double permettant de calculer le périmètre du cercle.
- surface() du type Double permettant de calculer la surface du cercle.
- testAppartenance() du type void permettant de tester si un point appartient au cercle ou non
- afficher() du type void permettant d'afficher les résultats
4 – Créer une classe TestCercle contenant une méthode static void main()  permettant de tester les résultats

Solution :

1 et 2 - Création de la classe Point

package geometry;

public class Point {
	public Double abscisse;
	public double ordonnee;
	public Point(Double ab,Double or){
		this.abscisse=ab;
		this.ordonnee=or;
	}
}

3 - Création de la classe Cercle

package geometry;
public class Cercle{
	public Point centre; 
	public Double rayon;
	public Cercle(Point point,Double r){
	this.centre=point;
	this.rayon=r;
	}
	public Double périmètre(){
		Double pi=Math.PI;
		return 2*pi*rayon;
	}
	public Double surface(){
		Double pi=Math.PI;
		return pi*rayon*rayon;
	}
	public void testAppartenance(Point q){
		Double dx=q.abscisse-this.centre.abscisse;
		Double dy=q.ordonnee-this.centre.ordonnee;
		Double distance=Math.sqrt(dx*dx+dy*dy);
	if(distance.doubleValue()==this.rayon.doubleValue()){
System.out.println("Le point choisi apprtient au cercle");		
	}
	else{
System.out.println("Le point choisi n'apprtient pas au cercle");		
	}
	}
void afficherCercle(){
System.out.println("Le rayon du cercle est "+ this.rayon);	
System.out.println("Le centre du cercle est le point ayant pour abscisse = "+ this.centre.abscisse + " ayant pour ordonnée = "+ this.centre.ordonnee );
	}
}

4 - Création de la classe TestCercle

package geometry;

public class TestCercle {
	public static void main(String[] args) {
		Point centre=new Point(0.0,0.0);
		Cercle monCercle=new Cercle(centre,3.0);
		Point M=new Point(3.0,0.0);
		monCercle.afficherCercle();
		monCercle.testAppartenance(M);
	}
}

Ce qui affiche après exécution sur Eclise :

Le rayon du cercle est 3.0
Le centre du cercle est le point ayant pour abscisse = 0.0 ayant pour ordonnée = 0.0
Le point choisi apprtient au cercle

Younes Derfoufi
CRMEF OUJDA

Leave a Reply

Your email address will not be published. Required fields are marked *