Vous êtes sur la page 1sur 3

Exercice 1 (6 Points)

1er cas : ST : 2 pt

a=10, b=2

Debut du main
Début de m2
Dans m2 avant appel de m1
Début de m1
Fin de m1
Dans m2 apres appel de m1
Fin de m2
x = 5.0
Fin du main

2ème cas ; ST : 2 pt

a=10, b=-2

Debut du main
Début de m2
Dans m2 avant appel de m1
Début de m1
parametre de signe opposé à l'attribut
Fin de m2
x = 10.0
Fin du main

3ème cas : ST : 2 pt

a=10, b=0

Debut du main
Début de m2
Dans m2 avant appel de m1
Début de m1
parametre de m1 null
Fin de m2
x = 10.0
Fin du main

Exercice 2 (14 Points)


Partie 1 Total : 2,5 points

// ST : 1,5 pt
public class Livre implements Comparable<Livre>{.. //0,5 pt
public int compareTo(Livre e) { //0,5
// TODO Auto-generated method stub
if (this.getIsbn() == null && e.getIsbn() == null) return 0;
if (this.getIsbn()==null) return -1;
return this.getIsbn().compareTo(e.getIsbn()); //0,5
}
//ST : 1 pt
public boolean equals(Object li) { //0,5
if (!(li instanceof Livre )) return false;
Livre l = (Livre)li;

if (l == null) return false;


if (getIsbn()==null && l.getIsbn() == null) return true;
if (getIsbn()==null || l.getIsbn() == null) return false;
return getIsbn().equals(l.getIsbn()); //0,5
}

Partie 2 : Total : 11,5 points

public class Program {

//ST : 1.5 pt (add : 0,5 , new : 0,5 , ajout des 4 livres : 0,5)
public static void remplir(Collection<Livre> liste)
{
liste.add(new Livre("100", "JAVA", 10f));
liste.add(new Livre("400", "C#", 20f));
liste.add(new Livre("300", "POO", 30f));
liste.add(new Livre("100", "Algorithmique", 40f));

// ST : 2 pt

public static HashMap<String, Livre> remplirMap(Collection<Livre> laListe


)

{ HashMap<String, Livre> res=new HashMap<String, Livre>(); //0,25


Iterator<Livre> it =laListe.iterator();//0,25
Livre livre; //0,25
while (it.hasNext())//0,25

{ livre = (Livre)(it.next());//0,25
res.put(livre.getIsbn(), livre) ; //0,5
}

return res; //0,25


}

// Implémenter la méthode qui permet de renvoyer la moyenne des prix des


livres de la collection fournie en paramètre
// ST : 2 pt
public static float moyennePrix(Collection<Livre> liste )
{float s=0; //0,25
for (Livre l: liste) //0,75 ( le parcours quelque soit la méthode)
s=s+l.getPrix();//0,25
int n=liste.size();//0,25
if (n==0)
return 0 ; //0,25
else
return s/n; //0,25
}

public static void main(String[] args) {

HashMap<String, Livre> biblio ;


ArrayList<Livre> listeA=new ArrayList<Livre>();
TreeSet<Livre> listeT=new TreeSet<Livre>();

// Remplir listeA avec les livres fournis en utilisant la méthode


remplir
remplir(listeA) ;//0,5 pt
// Ajouter toute la collection listeA à la liste listeT
listeT.addAll(listeA); //0,5 pt

// Utiliser la méthode remplirMap pour ajouter tous les éléments de


listeT dans biblio
biblio=remplirMap(listeT); //0,5 pt

// Afficher la moyenne des prix des livres contenus dans listeT


System.out.println("Liste A ="+moyennePrix(listeT)); //0,5 pt

// Afficher le premier élément de la liste listeA


System.out.println("Premier Liste T ="+listeA.get(0));//0,5 pt

// Afficher l'élément dont le isbn est "500" à partir de la HashMap


biblio

System.out.println("Livre 500 ="+biblio.get("500"));//0,5 pt

// Afficher la taille de la listeA.


System.out.println("Taille de liste A ="+listeA.size());//0,5 pt

// Afficher tous les éléments de la HashMap bibio


System.out.println("Bibliothèque ="+biblio); //0,5 pt

}
}

5. ST : 2 pt
Liste A =20.0 //0,25
Premier Liste T =Livre [isbn=100, titre=JAVA, prix=10.0] //0,25

Livre 500 =null //0,25


Taille de liste A =4 //0,25

//Tri : 0,25, la clé : 0,25 , la valeur 0,25, nb élément : 0,25


Bibliothèque ={100=Livre [isbn=100, titre=JAVA, prix=10.0]
, 300=Livre [isbn=300, titre=POO, prix=30.0]
, 400=Livre [isbn=400, titre=C#, prix=20.0]
}

Vous aimerez peut-être aussi