Problème avec une HashMap en Java

Fermé
Marin2 - 10 avril 2011 à 14:42
karirovax Messages postés 3221 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 22 juin 2016 - 10 avril 2011 à 14:47
Bonjour,

J'ai un problème dans mon code (ci-dessous). Je n'arrive pas à faire marcher ma méthode getItemsList. J'ai une classe Item (sans s) et une classe Room qui marchent sans problème.
La méthode getName() est dans la classe Item.

En fait, apparemment, mon "while" est toujours false. Je ne sais pas pourquoi. Peut-être que ma méthode addItem() ne marche pas.

Merci de votre aide

import java.util.HashMap;
import java.util.Iterator;

public class Items
{
    private HashMap aItems;
    private Iterator <Item> iterItems;

    
    public Items()
    {
        aItems = new HashMap<Item, Room>();
        iterItems = aItems.values().iterator();
    }
    
    public void addItem(Item vItem, Room vRoom) 
    {
        aItems.put(vItem, vRoom);  
    }

    
    public void removeItem(Item vItem) 
    {
        aItems.remove(vItem);  
    }
    
    public String getItemsList()
    {
        String vList = "Objet(s) présents dans cette salle : ";
        while(iterItems.hasNext())                          //Il y a un problème ici : toujours false.
        {
            vList = vList + iterItems.next().getName();
        }
        return vList;
    }

}
A voir également:

1 réponse

karirovax Messages postés 3221 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 22 juin 2016 204
10 avril 2011 à 14:47
salut

je sais pas la programation en java, mais je vous partage ma petite intervention ;)

si vous remplacez la commande while par If est ce que ca va marcher ?
0