0% ont trouvé ce document utile (0 vote)
66 vues5 pages

Correction TP5

Transféré par

Taieb Ata
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)
66 vues5 pages

Correction TP5

Transféré par

Taieb Ata
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

Correction TP5 : 2022-2023

Exercice 1:
package String;

import java.util.ArrayList;
import java.util.List;

public class EX2 {

public static void main(String[] args)


{
String s1="abc",
s2="",
s3="un \" guillemet",
s4=" et hop \n une nouvelle ligne ",
s5 = "1.2563556e-3" ;
List<Integer> l = new ArrayList<Integer> ();
l.add(2);
l.add(100);
l.add(60);
l.add(8655);
String s=s1 + s2 + s3 + s4;
System.out.println("s : \""+s+"\"");

System.out.println("s1 : \""+s1+"\"");
System.out.println("s1.length() = "+s1.length());
System.out.println("s1.toUpperCase() : \""
+s1.toUpperCase()+"\"");
System.out.println("s1.equals(\"def\") = "
+s1.equals("def"));
System.out.println("s1.equals(\"abc\") = "
+s1.equals("abc"));
System.out.println("s1.compareTo(\"agc3 monde\") = "
+s1.compareTo("agc3 monde"));
System.out.println("s1.charAt(1) = "+s1.charAt(1));
System.out.println("s1.replace(\"a d\") = "+s1.replace("a", "d"));
System.out.println("s1.indexOf(\"c\") = "+s1.indexOf("c"));
System.out.println("s3.concat(\"s4\") = "+s3.concat(s4));
System.out.println("Double.parseDouble(\"s5\") =
"+Double.parseDouble(s5)); //ou bien
System.out.println("Double.valueOf(\"s5\") = "+Double.valueOf(s5));
System.out.println("La valeur maximale de la classe Short =
"+Short.MAX_VALUE);
System.out.println("La valeur minimale de la classe Byte =
"+Byte.MIN_VALUE);
System.out.println("Liste l = "+l);
}

classe String

• Valeur littérale chaîne de caractères :


o suite de caractères Unicode (16 bits) encadrée par des guillemets
o le caractère \ introduit une de-spécialisation :
▪ \" est le caractère guillemet,
▪ \n le passage au début de la ligne suivant
▪ \uxyzw où x, y, z et w sont des chiffres hexadécimaux, est un
caractère codé en Unicode, \u0031 est le chiffre 1
o "" est la chaîne vide
• String définit un objet chaîne de caractères constant (inchangeable).
Même si certaines méthodes renvoient une chaîne distincte, la chaîne initiale
est inchangée.
• + est opérateur de concaténation de String
• les caractères d'une chaîne sont numérotés à partir de la position 0.
• Méthodes d'instance :
c'est à dire s'appliquant sur un objet String
o length() renvoie le nombre entier de caractères
o toUpperCase() donne une chaîne avec les minuscules converties en
majuscule
o toLowercase() ...
o equals(String autreChaine) renvoie true si la chaine est égale caractère
à caractère à l'autreChaine
▪ (s1 == s2) où s1 et s2 sont des String, n'est qu'une
comparaison des références et non de leur contenu !
o compareTo(String autreChaine) renvoie une valeur :
▪ positive si la chaine est supérieure à l'autreChaine selon l'ordre
des caractères Unicode,
▪ négative si la chaine est inférieure à l'autreChaine,
▪ 0 si la chaine est égale à l'autreChaine.
o charAt(int position) donne le caractère à la position indiquée
o String replace (char c1, char c2); crée une nouvelle chaîne en
remplaçant le caractère c1 par c2
o int indexOf (char c); fournit l’indice du caractère c dans la chaîne
o String concat(String s); concatène la chaîne de l’objet et la chaîne s

Exercice 2:
Classe Article
package Vector;

public class Article implements Exportable {

private int code;


protected String nom;
protected double prixHT;

private static int comp;

public int getCode() { // le code de l'article est en lecture seule


return code;
}

public Article(String nom, double prixHT) {


this.code = ++comp; // Le code doit être unique pour chaque article
this.nom = nom;
this.prixHT = prixHT;
}

public double prixTransport() {


return prixHT * 0.05; // 5% du Prix Hors Taxes de l'article
}

public String toString() {


return this.code + " " + this.nom;
}
// méthodes de l’interface
public double droitsDouane() {
return 0.1 * prixHT;
}

public String paysDestination() {


return "France";
}

}
Classe Fragile
package Vector;

public class Fragile extends Article {


protected String emballage;
public Fragile(String nom, double prixHT) {
super(nom, prixHT);
}

public Fragile(String emballage, String nom, double prixHT) {


super(nom, prixHT);
this.emballage = emballage;
}
public double prixTransport() {
return 2 * super.prixTransport();
}

La relation entre Article et Magasin est une relation d'association avec navigation
dans un seul sens.

On doit ajouter une liste d'articles dans la classe Magasin :

1. public class Magasin {


2. private Vector<Article> articles;
3.
4. }

Classe Magasin
package Vector;

import java.util.Enumeration;
import java.util.Vector;

public class Magasin {

private Vector<Article> articles;

public Magasin() {
articles = new Vector<>();
}

public void add(Article a) {


articles.addElement(a);
}

public boolean contains(Article a) {


if (articles.contains(a)) {
return true; }
else {
return false; }}

public void delete(int position) {


if (articles.get(position) != null) {
System.out.println ("L'article ayant le code " +position+ " a été
supprimé");
articles.remove(position);
}
}
}
// 1ère méthode
public void tousLesArticles() {
//Parcourir les éléments en utilisant Enumeration
Enumeration en = articles.elements();
while(en.hasMoreElements()){
System.out.println (en.nextElement());
}

}
// 2ème méthode
public void tousLesArticles() {
// for (Article article : articles) {
// System.out.println(articles);
// }
// 3ème méthode
// for (int i = 0; i < articles.size(); i++) {
// System.out.println(articles.get(i));
// }

}
Classe Test
package Vector;

import java.util.Vector;
public class Test {
public static void main(String[] args)
{
// Création des articles fragiles
Article tv = new Fragile ("LG", 7000.00);
Article machinealaver = new Fragile ("Beko", 6500.00);
Article refregerateur = new Fragile ("SAMSUNG", 5800.00);
Article microondes = new Fragile ("WHIRPOOL", 1800.00);

// afficher le prix de transport du tv


System.out.println ("Le prix de transport de l'article tv est : "
+tv.prixTransport());

// Création d'un magasin


Magasin Graiet = new Magasin ();

// Ajouter des objets dans le vecteur


Graiet.add(tv);
Graiet.add(machinealaver);
Graiet.add(refregerateur);
Graiet.add(microondes);

// Afficher la liste de tous les articles


System.out.println ("\n************* Liste de tous les articles :
*************");
Graiet.tousLesArticles();

// Tester si un article est dans le magasin ou pas


System.out.println ("\nTest si un article est dans le magasin ou pas : "
+Graiet.contains(refregerateur));

// Supprimer un article
Graiet.delete(1);

// Afficher la liste des articles restants


System.out.println ("\n************* Liste des articles restants :
*************");
Graiet.tousLesArticles();
}
}

Pour rendre un article exportable, la classe Article doit implémenter l'interface Exportable. Ensuite, on
doit redéfinir les deux méthodes de l'interface pour :

• spécifier le pays de destination.


• régler les droits de douane.

Interface Exportable
public interface Exportable {
public double droitsDouane();

public String paysDestination();


}

Vous aimerez peut-être aussi