Vous êtes sur la page 1sur 13

Université Alger1 Département : MI

Groupe : 01/05/06/07 Enseignant : FREDJ YOUNES

TPs POO
1- TP°01 : Class Point
public class Point {
protected double x;
protected double y;

public Point(double x, double y){


this.x=x;
this.y=y;
}

public void deplacer(int dx, int dy){


x+=dx;
y+=dy;
}

public String afficher(){


return "Point("+x+","+y+")";
}

public static void main(String []arg){


Point p=new Point(15,16);
p.afficher();
p.deplacer(3,6);
p.afficher();
}

2- TP°02 : Class Voiture


public class Voiture{
// Attributs
private String marque;
private int vitesse;
private String color;
private static int id=0;
private int m;

// Constructeur
public Voiture(String marque,int vitesse,String color){
this.marque=marque;
this.vitesse=vitesse;
this.color=color;
id++;
m=id;
}
// Accesseurs
public static int nbreVoiture(){
return id;
}
public String getMarque(){
return marque;
}
public int getVitesse(){
return vitesse;
}
public String getColor(){
return color;
}
public void setMarque(String marque){
this.marque=marque;
}
public void setVitesse(int vitesse){
this.vitesse=vitesse;
}
public void setColor(String color){
this.color=color;
}

// Methode toString
public String toString(){
String msg=String.format("Voiture numero: %d --
Marque: %s -- vitesse: %d -- color:
%s",m,marque,vitesse,color);
return msg;
}

// METHOD MAIN TEST

public static void main(String args[]){


Voiture v1=new Voiture("POLO",220,"Noir");
Voiture v2=new
Voiture("406",200,"Blanche");
Voiture v3=new Voiture("ATOS",180,"Bleu");

System.out.println(v1.toString());
System.out.println(v2.toString());
System.out.println(v3.toString());
System.out.println("Nombre de voiture="+
Voiture.nbreVoiture());
}

3- TP°03 : Class PorteMonnais


public class Monnais {
private static final int valUns=1;
private static final int valCinq=5;
private static final int valDix=10;
private static final int valCinquante=50;
private static final int valCent=100;
private static final int valDeuxCents=200;
private int uns;
private int cinq;
private int dix;
private int cinquante;
private int cent;
private int deuxCents;
private int montant;

public Monnais(){

}
public Monnais(int uns,int cinq,int dix,int cinquante,int cent,int
deuxCents){
this.uns=uns;
this.cinq=cinq;
this.dix=dix;
this.cinquante=cinquante;
this.cent=cent;
this.deuxCents=deuxCents;
}
public int montant(){

montant=valDeuxCents*deuxCents+valCent*cent+valCinquante*cinquante+valDix*di
x+valCinq*cinq+valUns*uns;
return montant;
}
public void ajouterMonnais(Monnais monnais){
this.uns=monnais.uns;
this.cinq=monnais.cinq;
this.dix=monnais.dix;
this.cinquante=monnais.cinquante;
this.cent=monnais.cent;
this.deuxCents=monnais.deuxCents;
}

public void ajouterPiece(int categorie, int nbrePieces){


switch(categorie){
case valUns: this.uns+=nbrePieces;break;
case valCinq: this.cinq+=nbrePieces;break;
case valDix: this.dix+=nbrePieces;break;
case valCinquante: this.cinquante+=nbrePieces;break;
case valCent: this.cent+=nbrePieces;break;
case valDeuxCents: this.deuxCents+=nbrePieces;break;
default: System.out.println("Erreur !!");
}
}
public void ajouterMontant(int dinars){
uns+=dinars;
optimiser();
}
public void optimiser(){
int reste=montant();
deuxCents=reste/200;reste=reste%200;
cent=reste/100;reste=reste%100;
cinquante=reste/50;reste=reste%50;
dix=reste/10;reste=reste%10;
cinq=reste/5;reste=reste%5;
uns=reste;
}
public String toString(){
int m=montant();
String s="";
s+=(deuxCents!=0)? "Pieces DeuxCents:"+deuxCents+"\n" :"";
s+=(cent!=0)? "Pieces Cents:"+cent+"\n" :"";
s+=(cinquante!=0)? "Pieces cinquante:"+cinquante+"\n" :"";
s+=(dix!=0)? "Pieces Dix:"+dix+"\n" :"";
s+=(cinq!=0)? "Pieces Cinq:"+cinq+"\n" :"";
s+=(uns!=0)? "Pieces uns:"+uns+"\n" :"";
s+="Montant= "+m+"\n";
return s;
}
public static void main(String[] args) {
Monnais porte=new Monnais();
Monnais porte2=new Monnais(0,1,4,0,1,3);
porte.ajouterMonnais(porte2);
porte.ajouterPiece(10, 3);
porte.ajouterMontant(202);
porte.optimiser();
System.out.println(porte);

}
TP°03 : Class PorteMonnais (Tableau deux dimensions)
public class PorteMonnais {
private final int[][] monnais={{1,0},{5,0},{10,0},{50,0},{100,0},{200,0}};
private int montant;

public PorteMonnais(){
}
public PorteMonnais(int uns, int cinq, int dix, int cinquante, int cent, int
deuxCents){
monnais[0][1]=uns;
monnais[1][1]=cinq;
monnais[2][1]=dix;
monnais[3][1]=cinquante;
monnais[4][1]=cent;
monnais[5][1]=deuxCents;
}

public int montant(){


for(int i=0;i<6;i++){
montant+=monnais[i][0]*monnais[i][1];
}
return montant;
}
public void ajouterMontant(int dinars){
monnais[0][1]+=dinars;
optimiser();
}
public void optimiser(){
montant();
monnais[5][1]=montant/200;
monnais[4][1]=(montant%200)/100;
monnais[3][1]=(montant%100)/50;
monnais[2][1]=(montant%50)/10;
monnais[1][1]=(montant%10)/5;
monnais[0][1]=(montant%5);
}

public String toString(){


String m="";
for(int i=0; i<monnais.length;i++){
m+="Piece: "+monnais[i][0]+" nbre de pieces=
"+monnais[i][1]+"\n";
}
return m;
}

public static void main(String[] args) {


PorteMonnais porte=new PorteMonnais();
porte.ajouterMontant(100);
porte.optimiser();
System.out.println(porte);
}
}
TP°04 : Class Notes
import javax.swing.*;
public class Notes {
private int nbreEtudiants;
private String noms[];
private double notes[];

public Notes(){
nbreEtudiants=0;
}

public void lireNbreEtudiants(){


nbreEtudiants=Integer.parseInt((JOptionPane.showInputDialog("Donner
le nombre d'etudiants:")));
noms=new String[nbreEtudiants];
notes=new double[nbreEtudiants];
}
public void saisieEtudiants(){
for(int i=0;i<nbreEtudiants;i++){
noms[i]=JOptionPane.showInputDialog("Donner le nom de
l'etudiant:"+(i+1));
notes[i]=Double.parseDouble(JOptionPane.showInputDialog("Donner
la note de l'etudiant:"+(noms[i])));
}
}
public double calculMoyenne(){
double moyClasse=0;
for(int i=0;i<nbreEtudiants;i++){
moyClasse+=notes[i];
}
moyClasse/=nbreEtudiants;
return moyClasse;
}
public int getIndiceMax(){
int indice=0;
double max=notes[0];
for(int i=0;i<nbreEtudiants;i++){
if(max<notes[i]){
max=notes[i];
indice=i;
}
}
return indice;
}
public int getIndiceMin(){
int indice=0;
double min=notes[0];
for(int i=0;i<nbreEtudiants;i++){
if(min>notes[i]){
min=notes[i];
indice=i;
}
}
return indice;
}
public double getMeilleurNote(){
return notes[getIndiceMax()];
}
public String getMeilleurEtudiant(){
return noms[getIndiceMax()];
}
public double getMauvaiseNote(){
return notes[getIndiceMin()];
}
public String getMauvaisEtudiant(){
return noms[getIndiceMin()];
}
public String toString(){
String msg="";
for(int i=0; i<nbreEtudiants;i++){
msg+="Etudiant "+(i+1)+" : "+noms[i]+" note: "+notes[i]+"\n";
}
msg+="Meilleur Etudiant: "+getMeilleurEtudiant()+" avec la note:
"+getMeilleurNote()+"\n";
msg+="Mauvais Etudiant: "+getMauvaisEtudiant()+" avec la note:
"+getMauvaiseNote()+"\n";
msg+="Moyenne classe: "+calculMoyenne();
return msg;
}

// TEST MAIN
public static void main(String[] args) {
// TODO Auto-generated method stub
Notes n=new Notes();
n.lireNbreEtudiants();
n.saisieEtudiants();
JOptionPane.showMessageDialog(null, n);
}

}
Université Alger1 Département : MI

Groupe : 01/05/06/07 Enseignant : FREDJ YOUNES

TPs POO

 TP°01 : Héritage
public class Personne {
private static int nbre;
private int code;
private String nom;
private int age;

public Personne(String nom, int age){


this.nom=nom;
this.age=age;
nbre++;
code=nbre;
}
public String toString(){
return "Code:"+code+" Nom:"+nom+" Age:"+age;
}
}
public class Etudiant extends Personne {
private int bourse;
private int annee;

public Etudiant(String nom, int age,int bourse,int


annee){
super(nom,age);
this.bourse=bourse;
this.annee=annee;
}

public double calculBourse(){


return bourse*annee;
}

@Override
public String toString() {
return super.toString()+" Bourse="+calculBourse();
}
}
public class Employeur extends Personne {
private int prime;
private final int salaire=30000;

public Employeur(String nom, int age, int prime){


super(nom,age);
this.prime=prime;
}

public double calculSalaire(){


return salaire+prime;
}

@Override
public String toString() {
return
super.toString()+"Salaire="+calculSalaire();
}
}
public class Enseignant extends Personne {
private int prime;
private final int prime1=5000;
private final int prime2=7000;
private final int prime3=10000;
private int grade;
private final int salaire=50000;
public Enseignant(String nom, int age, int prime,int
grade)
{
super(nom,age);
this.prime=prime;
this.grade=grade;
}

public double calcsalaire()


{ double sal=0;
switch (grade){
case 1 : sal=salaire+prime+prime1;break;
case 2 : sal=salaire+prime+prime2;break;
case 3 : sal=salaire+prime+prime3;break;
}return sal;
}
public String toString() {
return super.toString()+" salaire Enseignant = "
+calcsalaire();
}
}
public class Main {

public static void main(String[] args) {


Personne[] p=new Personne[5];
p[0]=new Etudiant("Kamel",21,16000,3);
p[1]=new Etudiant("Sarah",25,20000,5);
p[2]=new Employeur("Younes",30,20000);
p[3]=new Employeur("Farid",30,15000);
p[4]=new Enseignant ("Meriem",24,12000,2);

for(Personne index:p){
System.out.println(index);
}
}
}

 TP°02 : Examen
public class Contact {

private String nom;


private String tel;
private String mail;

public Contact(String nom, String tel, String mail){


this.nom=nom;
this.tel=tel;
this.mail=mail;
}

public String getNom() {


return nom;
}

public void setNom(String nom) {


this.nom = nom;
}
import javax.swing.JOptionPane;
public class Repertoire {
private Contact[] contact;
private int nbreMax;
private int nbreContact;

public Repertoire(int nbreMax){


this.nbreMax=nbreMax;
this.contact=new Contact[nbreMax];
nbreContact=0;
}

public boolean placesDisponibles(){


return (nbreMax>nbreContact);
}

public void addContact(Contact c){


if(placesDisponibles()){
contact[nbreContact]=c;
nbreContact++;
}
else JOptionPane.showMessageDialog(null, "Pas de
places disponibles !!");
}

public Contact[] allContact(){


return contact;
}

public Contact[] allContactParNom(String nom){


int k=0;
Contact[] cParNom=null;
for(int i=0;i<nbreContact;i++){
if(contact[i].getNom().equals(nom)){
k++;
}
}
if(k!=0){
cParNom=new Contact[k];
for(int i=0;i<k;i++){
if(contact[i].getNom().equals(nom)){
cParNom[i]=contact[i];
}
}
}
else{
JOptionPane.showMessageDialog(null,
"Pas de résultats pour ce nom !!");
}

return cParNom;
}

public String toString(){


String s="Repertoire01: Taille du repertoire="
+nbreMax+", Nombre de contacts="+nbreContact+", Places
disponibles="+(nbreMax-nbreContact)+"\n";
for(int i=0;i<nbreContact;i++){
s+="Contact:"+(i+1)+", Nom:
"+contact[i].getNom()+", Telephone:
"+contact[i].getTel()+", Email:
"+contact[i].getMail()+"\n";
}
return s;
}

public static void main(String arg[]){


Contact c1=new
Contact("Ahmed","01225558","ahmed@gmail.com");
Contact c2=new
Contact("Samir","01225558","samir@gmail.com");
Repertoire r=new Repertoire(3);
r.addContact(c1);
r.addContact(c2);
JOptionPane.showMessageDialog(null, r);
// recherche
Contact[] tab=null;
tab=r.allContactParNom("Ahmed");
String s="";
for(int i=0;i<tab.length;i++){
s+="Contact:"+(i+1)+", Nom:
"+tab[i].getNom()+", Telephone: "+tab[i].getTel()+",
Email: "+tab[i].getMail()+"\n";
}
JOptionPane.showMessageDialog(null, s);
}
}

 TP°03 : Chaines de caractères


package gestionChaines;
import javax.swing.JOptionPane;

public class Palindrome {

public static void main(String[] args) {


String s="level";
int startPosition=0;
int endPosition=s.length()-1;
boolean isPal=true;
while(startPosition<endPosition){
//String startLater=s.substring(startPosition, startPosition+1);
//String endLater=s.substring(endPosition,endPosition+1);
char start=s.charAt(startPosition);
char end=s.charAt(endPosition);
if(start!=end){
isPal=false;
break;
}
startPosition++;endPosition--;
}

if(isPal) JOptionPane.showMessageDialog(null,
"PALINDROME");
else JOptionPane.showMessageDialog(null, "N'EST
PAS PALINDROME");
}

}
 Chaine inversée
package gestionChaines;
import javax.swing.JOptionPane;
public class Chaine2 {

public static void main(String[] args) {


String s1="abcde";
String s2="";
for(int i=s1.length()-1;i>=0;i--){
s2+=s1.charAt(i);
}
System.out.println(s2);

}
}
 Récursivité
import javax.swing.*;
public class Pal {
String ch;
public Pal(String ch){
this.ch=ch;
}
public boolean estPalindrome(){
if (ch.equals("")) return true;
else if(ch.length()==1) return true;
else
return (ch.charAt(0)==ch.charAt(ch.length()-
1))&& new Pal(ch.substring(1, ch.length()-
1)).estPalindrome();
}
public static void main(String[] args) {
Pal p=new Pal("aalaa");
String pal="";
if(p.estPalindrome())pal="palindrome";
else pal="n'est pas palindrome";
JOptionPane.showMessageDialog(null, pal);
}

Vous aimerez peut-être aussi