Vous êtes sur la page 1sur 9

Institut Supérieur de Gestion 1èreIAG Cahier de TD en Langage « JAVA »

Série d’exercices N°1


Exercice 1:

1) Définir la classe Rectangle caractérisée par:


- Deux attributs privés (longueur, largeur).
- Un constructeur permettant d’initialiser la longueur et la largeur d’un objet de la classe
Rectangle.
- Les méthodes publiques suivantes permettant:
• d’obtenir la longueur d’un rectangle,
• d’obtenir la largeur d’un rectangle,
• de modifier la longueur d’un rectangle,
• de modifier la largeur d’un rectangle,
• de calculer la surface d’un rectangle,
• de calculer le périmètre d’un rectangle,
• de comparer deux rectangles.
2) Ecrire un programme java permettant de créer des objets de la classe Rectangle et d’utiliser
les méthodes définies dans cette classe.

Exercice 2:

1) Définir la classe DateJour caractérisée par:


- Trois attributs privés (jour, mois, annee).
- Un constructeur permettant d’initialiser le jour, le mois et l’année d’un objet de la classe
DateJour.
- Les méthodes publiques suivantes permettant:
• de retourner le jour d’une date donnée,
• de retourner le mois d’une date donnée,
• de retourner l’année d’une date donnée,
• de modifier le jour d’une date donnée,
• de modifier le mois d’une date donnée,
• de modifier l’année d’une date donnée,
• de dire si une année est bissextile ou pas
• de donner le nombre de jours d’un mois donné,
• de dire si une date est valide ou pas,
• de retourner la date suivante à une date donnée,

Prof : Hafedh El Ayech Page 3


Institut Supérieur de Gestion 1èreIAG Cahier de TD en Langage « JAVA »

• de chercher si une date donnée est un jour férié ou pas, en supposant qu’on a un
tableau contenant les jours fériés de l’année en cours.
2) Ecrire un programme java permettant de créer des objets de la classe DateJour et d’utiliser
les méthodes définies dans cette classe.

Exercice 3:

Il s’agit de définir une classe Match permettant d’aider à la gestion des billets pour les
différents matchs de football de la coupe d’afrique. Supposons que les places sont vendues
selon deux tarifs :
- un tarif normal,
- un tarif réduit pour les étudiants correspondant à 50% du tarif normal.
Les informations caractérisant un objet de la classe Match sont :

• Le nom du stade où va se dérouler le match,


• Les deux équipes jouant le match,
• Tour de la compétition (premier tour, quart de final,…)
• Le nombre de places du stade,
• Le nombre de places qui ont été vendues à tarif normal,
• Le nombre de places qui ont été vendues à tarif réduit,
• Le prix unitaire d'une place à tarif normal.

Définir la classe Match ainsi qu’un constructeur permettant d’initialiser tous les attributs des
objets de cette classe. Puis, écrire ses méthodes publiques permettant:

• de modifier le nombre de places encore disponibles dans le stade,


• de modifier le nombre de places qui ont été vendues à tarif normal,
• de modifier le nombre de places qui ont été vendues à tarif réduit,
• de calculer le nombre de places encore disponibles dans le stade
• de dire si oui ou non, on peut acheter un certain nombre de billets selon le tarif désiré.
En cas vente, faire les mises à jour nécessaires, si non afficher un message
l’impossibilité de vente.
• de calculer le chiffre d'affaires pour un match,
• de calculer le taux (pourcentage) de remplissage du stade lors d’un match,
• d’afficher les différentes informations concernant le match.

Finalement, écrire un programme java permettant de créer des objets de la classe Match et
utiliser les méthodes définies dans cette classe.

Prof : Hafedh El Ayech Page 4


Institut Supérieur de Gestion 1èreIAG Cahier de TD en Langage « JAVA »

Correction
Série d’exercices N°1

Exercice 1 :

class Rectangle
{private float longueur, largeur;
Rectangle (float x,float y)
{longueur=x;
largeur=y;
}
float obtenirLongeur()
{return longueur;
}
float obtenirLargeur()
{return largeur;
}
void modifierLongueur(float x)
{longueur=x;
}
void modifierLargeur(float x)
{largeur=x;
}
float surface()
{return (longueur * largeur);
}
float perimetre()
{return((longueur+largeur)*2);
}

boolean comparer(Rectangle R)
{if (longueur==R.obtenirLongeur()&&longueur==R.obtenirLargeur())
return true ;
else return false;

public class Class1


{public static void main (String[] args)
{Rectangle R1,R2;
float l,L;

System.out.println("\n***************** Rectangle *****************\n");


do {System.out.println("Donnez La longueur du 1er Rectangle:");
L=Readln.unfloat();
System.out.println("Donnez La largeur du 1er Rectangle:");
l=Readln.unfloat();
}
while((l>=L)||(l<=0));
R1=new Rectangle(L,l);
do {System.out.println("Donnez La longueur du 2eme Rectangle:");
L=Readln.unfloat();
System.out.println("Donnez La largeur du 2eme Rectangle:");
l=Readln.unfloat();

Prof : Hafedh El Ayech Page 5


Institut Supérieur de Gestion 1èreIAG Cahier de TD en Langage « JAVA »

}while((l>=L)||(l<=0));
R2=new Rectangle(L,l);

System.out.println("La surface du 1er Rectangle est: "+R1.surface()+" metre


carree");
System.out.println("Le perimetre du 1er Rectangle est: "+R1.perimetre()+"
metre");
System.out.println("La surface du 2eme Rectangle est: "+R2.surface()+"
metre carree");
System.out.println("Le perimetre du 2eme Rectangle est: "+R2.perimetre()+"
metre");
R1.modifierLongueur(R2.obtenirLongeur());
R1.modifierLargeur(R2.obtenirLargeur());
if(R1.comparer(R2)==true)
System.out.println("==>La surface du 1er rectangle est plus grande que
celle du 2eme rectangle");
else
System.out.println("==>La surface du 2eme rectangle est plus grande
que celle du 1er rectangle");
Readln.unstring();

}
}

Exercice 2 :

package datejour;

public class DateJour


{
private int jour;
private int mois;
private int annee;
public DateJour(int j,int m,int a)
{
jour=j;
mois=m;
annee=a;
}
public int getJour()
{
return(jour);
}
public int getMois()
{
return(mois);
}
public int getAnnee()
{
return(annee);
}
public void setJour(int j)
{
jour=j;
}
public void setMois(int m)
{

Prof : Hafedh El Ayech Page 6


Institut Supérieur de Gestion 1èreIAG Cahier de TD en Langage « JAVA »

mois=m;
}
public void setAnnee(int a)
{
annee=a;
}
public boolean bissextile()
{
if(((annee%4==0)&&(annee%100!=0))||(annee%400==0))
return(true);
else
return(false);
}
public int nombreJours()
{
int n;
switch(mois)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
n=31;
break;
case 2:
if(bissextile())
n=29;
else
n=28;
break;
case 4:
case 6:
case 9:
case 11:
n=30;
break;
default:
n=0;
break;
}
return(n);
}
public boolean dateValide()
{

if((jour>0)&&(jour<=nombreJours())&&(mois>0)&&(mois<=12)&&(annee>0))
return(true);
else
return(false);
}
DateJour dateSuivante()
{
DateJour d=new DateJour(jour,mois,annee);
if(d.jour<d.nombreJours())
d.jour++;
else
{
d.jour=1;

Prof : Hafedh El Ayech Page 7


Institut Supérieur de Gestion 1èreIAG Cahier de TD en Langage « JAVA »

if(d.mois<12)
{
d.mois++;
}
else
{
d.mois=1;
d.annee++;
}

}
return(d);
}
boolean comparer(DateJour D)
{
return(jour==D.jour&&mois==D.mois&&annee==D.annee);
}
boolean férier(DateJour T[],int taille)
{int i;i=0;boolean test=false;
while(i<taille&&test==false)
{if(comparer(T[i])==true)
test=true;
else i++;
}
return test;
}
public String toString()
{
String msg;

msg=Integer.toString(jour)+"/"+Integer.toString(mois)+"/"+Integer.toString(
annee);
return msg;
}
}

package datejour;

/**
*
* @Hafedh El Ayech
*/
public class Main {

/** Creates a new instance of Main */


public Main() {
}

public static void main(String[] args) {


DateJour D1,D2;int j,m,a;int choix;
do{
do{
System.out.println("Donnez le jour");j=Readln.unint();
System.out.println("Donnez le mois");m=Readln.unint();
System.out.println("Donnez l'annee");a=Readln.unint();
D1=new DateJour(j,m,a);
}while(D1.dateValide()==false);
System.out.println("1.Vérifier si bissextile");

Prof : Hafedh El Ayech Page 8


Institut Supérieur de Gestion 1èreIAG Cahier de TD en Langage « JAVA »

System.out.println("2.Afficher la date suivante");


System.out.println("3.Vérifier si férié ou non");
System.out.println("Donnez votre Choix");
choix=Readln.unint();
switch(choix)
{
case 1:if(D1.bissextile())System.out.println("l'année est
bissextile");
else System.out.println("l'année n'est pas bissextile");break;
case 2:System.out.println("la date suivante est :");
D2=D1.dateSuivante(); System.out.print(D2);break;
case 3:DateJour t[]=new DateJour[3];
t[0]=new DateJour(1,1,2006);t[1]=new
DateJour(20,3,2006);t[2]=new DateJour(25,7,2006);
if(D1.férier(t,3))System.out.println("Le jour est férié");
else
System.out.println("le jour n'est pas férié");
break;
default :System.out.println("choix erronée");
}

}while(choix>3||choix<1);

Exercice 3 :
class Match
{
private String nomStade;
private String Equipe1;
private String Equipe2;
private String tour;
private long nbPlace;
private long nbTarifNormal;
private long nbTarifRéduit;
private float prixTarifNormal;
private long dispo;
Match(String a,String b,String c,String d,long x,long y,long z,float p)
{
nomStade=a;
Equipe1=b;
Equipe2=c;
tour=d;
nbPlace=x;
nbTarifNormal=y;
nbTarifRéduit=z;
prixTarifNormal=p;
dispo=nbPlace-nbTarifNormal-nbTarifRéduit;

}
public void setdispo(long x)
{ dispo=x;
}
public void setnbTarifNormal(long x)
{ nbTarifNormal=x;
}

Prof : Hafedh El Ayech Page 9


Institut Supérieur de Gestion 1èreIAG Cahier de TD en Langage « JAVA »

public void setnbTarifRéduit(long x)


{ nbTarifRéduit=x;
}
public long calculerDispo()
{ return (nbPlace-(nbTarifNormal+nbTarifRéduit));
}
public boolean vente(int nbBillet,char tarif)
{boolean test;
if(dispo>=nbBillet)
{test=true;
switch(tarif)
{
case 'N':nbTarifNormal=nbTarifNormal+nbBillet; break;
case 'R':nbTarifRéduit=nbTarifRéduit+nbBillet; break;
}
setdispo(calculerDispo());
}
else
{test=false;
System.out.println("Vente Impossible!!!");
}
return(test);

}
public double CA()
{
return((prixTarifNormal*nbTarifNormal)+(prixTarifNormal*0.5*nbTarifRéduit);
}
public double remplissage()
{ return(((nbPlace-dispo)/nbPlace)*100);
}
public void afficher()
{
System.out.println("***Le stade: "+nomStade);
System.out.println("***Le tour est: "+tour+": "+Equipe1+" Vs "+Equipe2);
System.out.println("***Le nombre de places est: "+nbPlace);
System.out.println("***Le nombre de billet a tarif normal est:
"+nbTarifNormal);
System.out.println("***Le nombre de billet a tarif reduit est:
"+nbTarifRéduit );
System.out.println("***Le chiffre d'affaires est: "+ CA() );
System.out.println("***Le nombre de places encore disponibles "+
calculerDispo());

}
}

public class Class1


{public static void main (String[] args)
{Match M=new Match("Rades","Tunisie","Maroc","Final",60000,0,0,5);
int choixTarif;
int nbBillet;int choix;
do{//pour réafficher le menu
System.out.println(" ***************** Match
***************** \n");
System.out.println("1. Vendre billet");
System.out.println("2. Afficher les informations:");
System.out.println("3. Quitter:");
System.out.println("Donnez votre choix: ");
choix=Readln.unint();

Prof : Hafedh El Ayech Page 10


Institut Supérieur de Gestion 1èreIAG Cahier de TD en Langage « JAVA »

switch(choix)
{
case 1:System.out.println("Donnez le nombre de billets: ");
nbBillet=Readln.unint();
System.out.println("1.Tarif Normal");
System.out.println("2.Tarif Reduit");
System.out.print("Choisir le tarif: ");
choixTarif=Readln.unint();
switch(choixTarif)
{
case 1:if(M.vente(nbBillet,'N'))
System.out.println("La vente a reussi !!!");
break;
case 2:if(M.vente(nbBillet,'R'))
System.out.println("La vente a reussi !!!");
break;
default:System.out.println("Choix errone!!!");
}
break;
case 2:M.afficher();
break;
case 3: System.out.println("Au revoir!!");
default:System.out.println("Choix errone!!!");
}
}while(choix!=3);
char c= Readln.unchar();//pour bloquer la fenêtre d'exécution

}
}

Prof : Hafedh El Ayech Page 11

Vous aimerez peut-être aussi