0% ont trouvé ce document utile (0 vote)
16 vues8 pages

Java

Le document présente plusieurs exercices de programmation en Java, organisés en différentes sections (TP1 à TP4), chacun abordant des concepts tels que les classes, les objets, et les méthodes. Les exemples incluent des jeux, des structures de données pour gérer des machines et des utilisateurs, ainsi que des opérations sur des comptes bancaires. Chaque exercice illustre des principes de la programmation orientée objet, tels que l'encapsulation et l'héritage.

Transféré par

chaimatounsi26
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
16 vues8 pages

Java

Le document présente plusieurs exercices de programmation en Java, organisés en différentes sections (TP1 à TP4), chacun abordant des concepts tels que les classes, les objets, et les méthodes. Les exemples incluent des jeux, des structures de données pour gérer des machines et des utilisateurs, ainsi que des opérations sur des comptes bancaires. Chaque exercice illustre des principes de la programmation orientée objet, tels que l'encapsulation et l'héritage.

Transféré par

chaimatounsi26
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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();
}

Vous aimerez peut-être aussi