CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Map en java

]linkdu64[
]linkdu64[
Niveau 8
02 novembre 2018 à 14:42:25

Bonjour

je commence à apprendre les map en java et j'ai un exercice ou je doit ajouter
un Objet Achat (String lib, int d, int nb, Zone z) dans une map nommé courses comme ceci :

ajouterAchat : Courses x Achat > Courses
Ajoute un Achat aux Courses
montantTotal : Courses > Réel
calcule le prix total des achats réalisés

(il ne peut pas y avoir 2 Achats avec le même libellé. L'accès aux Achats se fera
séquentiellement.)

Cependant j'ai un peu de mal avec les map malgré mes recherches sur internet.
Voila mon code mais je croit que c'est très brouillon :

public class Course {
private Map<Integer, Achat> course = new HashMap<>();
private int k=0;

public Course (Map c) {
this.course = c;
}

public static boolean estVide(Map m) {
return m.isEmpty();
}

public void ajouterAchat(Achat a, Map m) {
this.course.put(k, a);
k+=1;
}

public void montantTotal(Map m) {
int total = 0;
Achat achat;
for (int k = 0; k < m.size(); k++) {
Achat valeur = (Achat) m.get(k);
total += valeur.getPrixTotal();
}
}
}

En allant sur internet je suis tomber sur ce genre de ligne de code mais j'ai du mal à comprendre :

Set<Entry<Integer, String>> setHm = hm.entrySet();
Iterator<Entry<Integer, String>> it = setHm.iterator();
while(it.hasNext()){
Entry<Integer, String> e = it.next();
System.out.println(e.getKey() + " : " + e.getValue());
}

godrik
godrik
Niveau 30
02 novembre 2018 à 14:48:46

la fonction montantTotal, devrait retourner la valeure du total, non ?

Le bout de code que tu donnes utilise le concept d'iterateur. Ca permet de regarder les elements d'un ensemble un a la fois. Et typiquement ca a trois fonctions: une qui te dit si tu es au bout de l'ensemble (est ce qu'il y a un element que tu n'as pas vu), une qui te donne le prochain element de l'ensemble, et une qui te permet de revenir au debut de l'ensemble.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment