Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1666 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  collection java

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

collection java

n°2233284
galon97
Posté le 13-07-2014 à 07:57:19  profilanswer
 

bonjour! je fais un tp voici l'ennocer
Créer une classe Vendeur. Les champs de données de Vendeur incluent un identificateur (id) entier et un double représentant le montant annuel des ventes (montantVentes). Les méthodes de la classe Vendeur incluent un constructeur qui prend deux arguments qui correspondent aux champs de données, ainsi que les méthodes d’accès et de modification des deux champs de données.
Créer une application DemoVendeur qui permet à l’utilisateur de saisir les valeurs pour construire une collection de cinq (5) objets de type Vendeur puis donne le contrôle à l’utilisateur pour choisir parmi les actions suivantes :
(1) Pour afficher la liste des vendeurs ordonnées par les identificateurs;(2) Pour afficher la liste des vendeurs ordonnées par les montants annuels de
ventes;
(3) Pour afficher les informations du vendeur avec le montant annuel de ventes le
plus élevé;
(4) Pour afficher les informations du vendeur avec le montant annuel de ventes le
moins élevé;
(0) Pour quitter l’application.
voici ce que j'ai pu faire mais je suis un peux mêlé dans mon code.est ce que quelqu'un pourrait me guider merci
 

Code :
  1. public class Vendeur implements Comparable<Vendeur>  {
  2. static enum Comparaison {
  3.         AMOUNT(1,(v1, v2) Double.compare(v1.getMontantVentes(),
  4.           v2.getMontantVentes())),
  5.          ID(2,(v1, v2) Integer.compare(v1.getId(),v2.getId()));
  6.         static Comparaison get(int i) {
  7.             for (Comparaison comparaison : Comparaison.values())
  8.                 if (comparaison.i == i)
  9.                     return comparaison;
  10.             return null;
  11.         }
  12.         Comparator<Vendeur> comparator;
  13.         int i;
  14.         private Comparaison(int i, Comparator<Vendeur> comparator) {
  15.             this.i = i;
  16.             this.comparator = comparator;
  17.         }
  18.         Comparator<Vendeur> getComparator() {
  19.             return comparator;
  20.         }
  21.     }
  22.     private int id;
  23.     private double montantVentes;
  24.     public int getId() {
  25.         return id;
  26.     }
  27.     public double getMontantVentes() {
  28.         return montantVentes;
  29.     }
  30.   //mutateurs
  31.     public void setId(int newId)
  32.     {
  33.         id=newId;
  34.     }
  35.     public void setMontantVentes(int newMontantVentes)
  36.     {
  37.         montantVentes=newMontantVentes;
  38.     }
  39. }


merci

mood
Publicité
Posté le 13-07-2014 à 07:57:19  profilanswer
 

n°2233323
honrisse
Posté le 14-07-2014 à 15:26:50  profilanswer
 

galon97 a écrit :

bonjour! je fais un tp voici l'ennocer
Créer une classe Vendeur. Les champs de données de Vendeur incluent un identificateur (id) entier et un double représentant le montant annuel des ventes (montantVentes). Les méthodes de la classe Vendeur incluent un constructeur qui prend deux arguments qui correspondent aux champs de données, ainsi que les méthodes d’accès et de modification des deux champs de données.
Créer une application DemoVendeur qui permet à l’utilisateur de saisir les valeurs pour construire une collection de cinq (5) objets de type Vendeur puis donne le contrôle à l’utilisateur pour choisir parmi les actions suivantes :
(1) Pour afficher la liste des vendeurs ordonnées par les identificateurs;(2) Pour afficher la liste des vendeurs ordonnées par les montants annuels de
ventes;
(3) Pour afficher les informations du vendeur avec le montant annuel de ventes le
plus élevé;
(4) Pour afficher les informations du vendeur avec le montant annuel de ventes le
moins élevé;
(0) Pour quitter l’application.
voici ce que j'ai pu faire mais je suis un peux mêlé dans mon code.est ce que quelqu'un pourrait me guider merci
 

Code :
  1. public class Vendeur implements Comparable<Vendeur>  {
  2. static enum Comparaison {
  3.         AMOUNT(1,(v1, v2) Double.compare(v1.getMontantVentes(),
  4.           v2.getMontantVentes())),
  5.          ID(2,(v1, v2) Integer.compare(v1.getId(),v2.getId()));
  6.         static Comparaison get(int i) {
  7.             for (Comparaison comparaison : Comparaison.values())
  8.                 if (comparaison.i == i)
  9.                     return comparaison;
  10.             return null;
  11.         }
  12.         Comparator<Vendeur> comparator;
  13.         int i;
  14.         private Comparaison(int i, Comparator<Vendeur> comparator) {
  15.             this.i = i;
  16.             this.comparator = comparator;
  17.         }
  18.         Comparator<Vendeur> getComparator() {
  19.             return comparator;
  20.         }
  21.     }
  22.     private int id;
  23.     private double montantVentes;
  24.     public int getId() {
  25.         return id;
  26.     }
  27.     public double getMontantVentes() {
  28.         return montantVentes;
  29.     }
  30.   //mutateurs
  31.     public void setId(int newId)
  32.     {
  33.         id=newId;
  34.     }
  35.     public void setMontantVentes(int newMontantVentes)
  36.     {
  37.         montantVentes=newMontantVentes;
  38.     }
  39. }


merci


 
Il manque le constructeur, montantVentes est un double mais le setteur a comme paramètre un entier, il manque une méthode d'affichage, pour comparer suivant plusieurs méthodes on peut utiliser l'interface comparator.
Exemple qui compare suivant l'id (pour comparer suivant le montant et utilise la même démarche), pour le (3) et (4), une fois que l'on a trié on peut facilement avoir accès à ces informations.
 

Code :
  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. import java.util.List;
  4. public class Vendeur {
  5. private int id;
  6. private double montantVentes;
  7. //Constructeur
  8. public Vendeur(int id, double montant) {
  9.  setId(id);
  10.  setMontantVentes(montant);
  11. }
  12. //Accesseurs
  13. public int getId() {
  14.  return id;
  15. }
  16. public double getMontantVentes() {
  17.  return montantVentes;
  18. }
  19. //Setteurs
  20. public void setId(int newId) {
  21.  id = newId;
  22. }
  23. public void setMontantVentes(double newMontantVentes) {
  24.  montantVentes = newMontantVentes;
  25. }
  26. //Affichage des informations
  27. @Override
  28. public String toString() {
  29.  return "id=" + id + " ; montant des ventes=" + montantVentes;
  30. }
  31. public static void main(String[] args) {
  32.  Vendeur v1 = new Vendeur(10, 50);
  33.  Vendeur v2 = new Vendeur(4, 12.5);
  34.  Vendeur v3 = new Vendeur(17, 115.8);
  35.  Vendeur v4 = new Vendeur(6, 36.45);
  36.  //Liste de vendeurs
  37.  List<Vendeur> list = new ArrayList<Vendeur>();
  38.  list.add(v1);
  39.  list.add(v2);
  40.  list.add(v3);
  41.  list.add(v4);
  42.  //Affichage de la liste
  43.  System.out.println("liste :" );
  44.  for(Vendeur v : list) {
  45.   System.out.println(v);
  46.  }
  47.  Collections.sort(list, new IdComparator());
  48.  System.out.println("\nliste triee par id :" );
  49.  for(Vendeur v : list) {
  50.   System.out.println(v);
  51.  }
  52. }
  53. }


 

Code :
  1. import java.util.Comparator;
  2. public class IdComparator implements Comparator<Vendeur> {
  3. @Override
  4. public int compare(Vendeur v1, Vendeur v2) {
  5.  return Integer.compare(v1.getId(), v2.getId());
  6. }
  7. }



Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  collection java

 

Sujets relatifs
Créer un logiciel JAVA/FLASH + mise en ligne ?Prendre une photo à partir de la webcam en JAVA
LinkedList javaInterface graphique application JAVA
get/set en javaparseur java
Simulation trafic javaHelp pour un programme java
Projet en Java's cool, effet sur imageExo prog concurrente et collection java
Plus de sujets relatifs à : collection java


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR