TP1 TP2
EX7 : EX1 :
package ex7; package ex1;
import java.util.*;
public class Date {
public class NombreMysterieux { int jour;
int mois;
public static void main(String[] args) { int annee;
int nb=0; public Date(int jour, int mois, int annee) {
int inconnu = (int)(Math.random()*20+1); this.jour=jour;
Scanner sc =new Scanner(System.in); this.mois=mois;
int n; this.annee=annee;
}
while(nb<10) { public String getDate() {
System.out.println("veuillez saisir un nombre: "); return this.jour+"/"+this.mois+"/"+this.annee;
n = sc.nextInt(); }
nb++; }
if ( n< inconnu)
{System.out.println("Encore plus grand");
} package ex1;
else if (n > inconnu) public class TestDate {
{System.out.println("Encore plus petit");
} public static void main(String[] args) {
else { Date d = new Date(06,10,2001);
System.out.println("Bravo, vous avez trouvé le System.out.println(d.getDate());
nombre"); }
break;
} }
}
if (nb==10)
EX2 :
System.out.println("Game Over"); package ex2;
System.out.println("Le score " + (10-nb)); import ex1.Date;
sc.close();
} public class Personne {
String nom;
} Date dateNai;
String numTel;
public Personne(String nom , Date dateNai, String numTel) {
this.nom=nom;
this.dateNai=dateNai;
this.numTel=numTel;
}
public void afficherInfos() {
System.out.println("Nom : "+ this.nom +"\n Date de naissance :
"+ this.dateNai.getDate()+"\n Numéro de telephone : "+ this.numTel);
}
}
package ex2;
import ex1.Date; //On obtient sur l’écran
public class TestPersonne { // Les deux cercles sont différents
if (c1.egal(c2))
public static void main(String[] args) { System.out.println("Les deux cercles sont égaux") ;
Date d = new Date(06,10,2001); else
Personne p= new Personne("emna",d,"23935045");//Personne p= new System.out.println("Les deux cercles sont différents") ;
Personne("emna",new Date(06/10/2001),"23935045"); }
p.afficherInfos(); }
}
} EX4 :
package ex4;
EX3 : enum Orientation{Nord, Est, Sud, Ouest}
public class Robot {
package ex3; String nom;
int x,y;
public class Cercle { Orientation direction;
double rayon;
public Robot(String nom , int x, int y, Orientation direction ) {
public Cercle(double rayon) { this.nom=nom;
this.rayon=rayon; this.x=x;
} this.y=y;
public Cercle agrandir(int a) { this.direction=direction;
return new Cercle(this.rayon+a); }
}
public void affich() { public Robot(String nom ) {
System.out.println("cercle = ("+this.rayon+")"); this.nom=nom;
} this.direction=Orientation.Est;
public boolean egal(Cercle c) { // this(nom,0,0,Orientation.Est) appel d'un constructeur
if (this.rayon == c.rayon) }
return true;
else public void avancer() {
return false; switch(direction) {
} case Nord:
} y=y+1;
break;
package ex3; case Est:
x=x+1;
public class TestCercle { break;
case Sud:
public static void main(String[] args) { y=y-1;
// Création d’un cercle de rayon 3.5 break;
Cercle c1=new Cercle(3.5) ; case Ouest:
x=x-1;
// Retourne le cercle c2 (de rayon 5.5) résultant de break;
l’agrandissement appliqué sur c1 }
Cercle c2=c1.agrandir(2) ; }
// Affiche : cercle = (3.5) public void tournerDroite() {
c1.affich() ; switch(direction) {
case Nord:
// Affiche : cercle = (5.5) this.direction=Orientation.Est;
c2.affich() ; break;
case Est: EX5 :
this.direction=Orientation.Sud;
break; package ex5;
case Sud:
this.direction=Orientation.Ouest; public class Article {
break; String reference;
case Ouest: String nom;
this.direction=Orientation.Nord; Double prixHT;
break; int qteStock;
} Double tva ;
}
public Article(String reference, String nom, Double prixHT, int
public void afficherEtat() { qteStock, Double tva) {
System.out.println("Robot " + this.nom this.reference=reference;
+ " est en position ("+ this.x+","+this.y this.nom=nom;
+") oriente vers "+ this.direction); this.prixHT=prixHT;
this.qteStock=qteStock;
} this.tva=tva;
}
} public void approvisionner(int x) {
this.qteStock+=x;
package ex4; }
public boolean vendre(int x) {
public class TestRobot { if (this.qteStock<x)
return false ;
public static void main(String[] args) { else
return true;
Robot r1 = new Robot("Alpha"); }
r1.afficherEtat(); public double prixTTC() {
Robot r2 =new Robot("Beta" , 2,1,Orientation.Nord); return this.prixHT*(1+this.tva);
r2.afficherEtat(); }
public String toString() {
System.out.println("Etat des robots apres avancement "); return "L'aricle " + this.nom + "de reference "+this.reference+
r1.avancer(); " et le prix est = "+ prixTTC();
r1.afficherEtat(); }
r2.avancer(); public boolean comparer(String ref) {
r2.afficherEtat(); if (this.reference==ref)
return true;
System.out.println("Etat des robots apres rotation "); else
r1.tournerDroite(); return false;
r1.afficherEtat(); }
r2.tournerDroite(); }
r2.afficherEtat(); package ex5;
} public class TestArticle {
} public static void main(String[] args) {
Article article = new Article("id011","article1",10.2,50,0.3);
System.out.println(article.toString());
article.approvisionner(5);
System.out.println(article.vendre(4));
System.out.println(article.prixTTC());
}}
TP3 TP4
EX1 : EX1 :
package ex1; package ex1;
public class CompteBancaire { public class Machine {
private int id;
private int numero; private String marque;
private String nom; private double capacite;
private float solde;
private static int compteur ;
public CompteBancaire(int numero, String nom, float solde) { private static double totalCapacite;
this.nom=nom;
this.numero=numero; public Machine (String marque, double capacite) {
this.solde=solde; this.capacite=capacite;
} this.marque=marque;
this.id = ++compteur;
public float getSolde() { totalCapacite+=capacite;
return solde; }
}
public String getMarque() {
public void deposer(float somme) { return marque;
if (verifierMontant(somme)) }
this.solde+=somme;
else System.out.println("la somme doit etre positif"); public void setMarque(String marque) {
} this.marque = marque;
}
public void retirer(float somme) {
if (somme>0 && somme<=this.solde) public double getCapacite() {
this.solde-=somme; return capacite;
else if (solde<somme) }
System.out.println("solde insuffisant");
else System.out.println("la somme doit etre positif"); public void setCapacite(double capacite) {
totalCapacite-=this.capacite;
} this.capacite = capacite;
totalCapacite+=capacite;
private boolean verifierMontant(float montant) { }
return montant>0;
} public int getId() {
} return id;
package ex1; }
public class TestCompteBancaire { public static double capaciteMoyenne() {
if (compteur == 0) {
public static void main(String[] args) { return 0;
CompteBancaire compte= new }
CompteBancaire(123456789,"emna",1500.5f); else {
System.out.println("solde actuel : "+compte.getSolde()); return totalCapacite / compteur;
compte.deposer(500); }
System.out.println("solde apres depot: "+compte.getSolde()); }
compte.retirer(-100);
System.out.println("solde apres retrait : "+compte.getSolde());
}}
public boolean compareMarque(Machine m) { EX2 :
return this.marque.equals(m.marque); package ex2;
//return this.marque.equalsIgnoreCase(m.marque); capacite
wala Cpacite kif kif import ex1.Machine;
} public class ParcMachines {
public static Machine compareCapacite(Machine m1, Machine m2) { private static final int MAX_MACHINES=100;
if (m1.capacite==m2.capacite) { private Machine[] machines;
return null; private int nbMachines;
}
else if (m1.getCapacite()>=m2.getCapacite()) { // return public ParcMachines() {
(m1.capacite>m2.capacite) ?m1:m2 machines = new Machine[MAX_MACHINES];
return m1; //this.nbMachines = 0;
} }
else {
return m2; /*public boolean ajouterMachine(Machine m) {
} if (nbMachines < MAX_MACHINES) {
} machines[nbMachines++] = m;
return true;
public String toString() { }
return "Machine [id=" + id + ", marque=" + marque + ", else {
capacite=" + capacite + "]"; return false;
} }
} }*/
package ex1; public void ajouterMachine(Machine m) {
if (nbMachines < MAX_MACHINES) {
public class TestMachine { machines[nbMachines++] = m;
}
public static void main(String[] args) { else System.out.println("impossible d'ajouter la machine : tableau
Machine m1= new Machine("Samsung", 15.5); pleine");
Machine m2= new Machine("LG", 20.0); }
System.out.println(m1.toString());//System.out.println(m1);
System.out.println(m2.toString()); public void afficherToutesMachines() {
for(int i=0; i<nbMachines;i++) {
if (m1.compareMarque(m2)) { System.out.println(machines[i]);
System.out.println("m1 et m2 sont de meme marque "); }
} /*
else { for(Machine m: machines) {
System.out.println("m1 et m2 ne sont pas de meme marque if (m!=null)
"); System.out.println(m);}
} */
}
Machine plusGrande = Machine.compareCapacite(m1, m2); public double capaciteMoyenneParc() {
System.out.println("Machine avec la plus grande capacite : " + double somme=0;
plusGrande); if (nbMachines ==0 ) {
return 0;
System.out.println("la capacite moyenne de tout les machine }
crees : "+ Machine.capaciteMoyenne()); for(int i=0; i<nbMachines;i++) {
somme+=machines[i].getCapacite();
} }
} return somme/nbMachines; }
public Machine machinePlusGrandeCapacite() {
if (nbMachines ==0 ) {
DS
package ds;
return null;
} public class Utilisateur {
Machine max = machines[0]; private String adresseEmail;
for (int i = 1; i < nbMachines; i++) { private String nom;
if (machines[i].getCapacite() > max.getCapacite()) {
//max=Machine.compareCapacite(machines[i],max) public Utilisateur(String adresseEmail, String nom) {
max = machines[i]; this.adresseEmail = adresseEmail;
} this.nom = nom;
} }
return max;
} public static boolean comparer(Utilisateur u1,Utilisateur u2) {
} return u1.adresseEmail.equals(u2.adresseEmail);
}
package ex2;
public String toString() {
import ex1.Machine; return "Utilisateur: " + nom + ", Email: " + adresseEmail;
}
public class TestParcMachines {
public static void main(String[] args) { public String getAdresseEmail() {
ParcMachines parc = new ParcMachines(); return adresseEmail;
}
/*Machine m1= new Machine("Samsung", 15.5);
parc.ajouterMachine(m1);*/ public void setAdresseEmail(String adresseEmail) {
this.adresseEmail = adresseEmail;
parc.ajouterMachine(new Machine("Samsung", 15.5)); }
parc.ajouterMachine(new Machine("LG", 20.0));
parc.ajouterMachine(new Machine("Bosch", 25.0)); public String getNom() {
return nom;
System.out.println("Machines dans le parc : "); }
parc.afficherToutesMachines();
public void setNom(String nom) {
System.out.println("Capacite moyenne du parc : " + this.nom = nom;
parc.capaciteMoyenneParc()); }
}
Machine maxMachine = parc.machinePlusGrandeCapacite();
System.out.println("Machine avec la plus grande capacite : " +
maxMachine);
package ds;
}
public class Email {
}
private String objet;
private Utilisateur envoyeur;
private Document[] piecesJointes;
private int nbrePJ;
private static final int TAILLE_MAX = 400;
private static final int MAX_PJ = 5;
public Email(String objet, Utilisateur envoyeur) {
this.objet = objet;
this.envoyeur = envoyeur; return "Document: " + nomDoc + ", Type: " + typeDoc + ", Taille: "
this.piecesJointes = new Document[MAX_PJ]; + taille + " ko";
this.nbrePJ = 0; }
} }
public int tailleEmail() {
int total = 0; package ds;
for (int i = 0; i < nbrePJ; i++) {
total += piecesJointes[i].getTaille(); public class BoiteEmail {
}
return total; private static final int MAX_EMAILS = 100;
} private Email[] tabEmail;
private int nbEmails;
public Utilisateur getEnvoyeur() {
return envoyeur; public BoiteEmail() {
} this.tabEmail = new Email[MAX_EMAILS];
this.nbEmails = 0;
public void ajouterPJ(Document document) { }
if (nbrePJ < MAX_PJ && tailleEmail() + document.getTaille() <=
TAILLE_MAX) { /* public BoiteEmail(Email[] tabEmail) {
piecesJointes[nbrePJ++] = document; this.tabEmail=tabEmail;
} } */
}
public Email rechercherEmail(String adresse) {
public void afficher() { for (int i = 0; i < nbEmails; i++) {
System.out.println("Objet: " + objet); if
System.out.println("Envoyeur: " + envoyeur); (tabEmail[i].getEnvoyeur().getAdresseEmail().equals(adresse))
System.out.println("Pièces jointes:"); return tabEmail[i];
for (int i = 0; i < nbrePJ; i++) { }
System.out.println(" - " + piecesJointes[i]); return null;
} }
}
public void ajouterEmail(Email email) {
} if (nbEmails<MAX_EMAILS) {
tabEmail[nbEmails++]=email;
}
package ds; else {
for (int i = 0; i < nbEmails; i++) {
public class Document { tabEmail[i-1]=tabEmail[i];
private String nomDoc; }
private String typeDoc; tabEmail[tabEmail.length-1]=email;
private int taille; }
}
public Document(String nomDoc, String typeDoc, int taille) {
this.nomDoc = nomDoc; public void lister() {
this.typeDoc = typeDoc; System.out.println("Emails avec pièces jointes:");
this.taille = taille; for (int i = 0; i < nbEmails; i++) {
} if (tabEmail[i].tailleEmail() > 0) {
tabEmail[i].afficher();
public int getTaille() { }
return taille; }
} System.out.println("Emails sans pièces jointes:");
for (int i = 0; i < nbEmails; i++) {
public String toString() { if (tabEmail[i].tailleEmail() == 0) {
tabEmail[i].afficher();
}
}
}
public void ajouter(Email email1) {
// TODO Auto-generated method stub
}
}
package ds;
public class Test {
public static void main(String[] args) {
BoiteEmail boite = new BoiteEmail();
Utilisateur user1 = new Utilisateur("[email protected]", "User
One");
Utilisateur user2 = new Utilisateur("
[email protected]", "User
Two");
Utilisateur user3 = new Utilisateur("
[email protected]", "User
Three");
Email email1 = new Email("Sujet 1", user1);
Email email2 = new Email("Sujet 2", user2);
Email email3 = new Email("Sujet 3", user3);
boite.ajouterEmail(email1);
boite.ajouterEmail(email2);
boite.ajouterEmail(email3);
boite.lister();
}