Salut à tous,

Bon encore un soucis.

Tout d'abord, le code.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
public class Objet extends Element
{
	public Objet (String nom, String description)
	{
		super(nom, description);
	}
 
	public String getNom()
	{
		return super.nom;
	}
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import java.util.ArrayList;
 
public class Joueur {
 
	private String nom;
	private ArrayList sac;
 
	/**
         * Constructeur
         *
         */
	public Joueur(String nom)
	{
		this.nom = nom;
		this.sac = new ArrayList();
	}
 
	/**
         * Ajoute un objet dans le sac du joueur
         * @param unObjet
         */
	public void ajouteObjet(Objet unObjet)
	{
		this.sac.add(unObjet);
	}
 
	/**
         * Renvoie une chaine descriptive du contenu du sac
         * @return
         */
	public String getSacString()
	{
		Objet objetCourant;
		String chaineRetour = "Dans votre sac,\nIl y a:";
		if (this.sac.size() != 0)
		{
			for (int i = 0; i < this.sac.size(); i++)
			{
				objetCourant = (Objet) this.sac.get(i);
				chaineRetour += "\n     + " + objetCourant.getNom();
			}
		}
		else
		{
			chaineRetour = "Votre sac est vide";
		}
		return chaineRetour;
 
	}
 
	/**
         * Donne l'objet demandé
         * @param nomObjet
         * @return
         */
	public Objet getObjet(String nomObjet)
	{
		//Regarder les objets dans le sac
    	for (int i = 0; i < this.sac.size(); i++)
    	{
    		Objet unObjet = (Objet) this.sac.get(i);
    		//Si l'objet est celui demandé alors le donner
    		System.out.println(unObjet.getNom() + " " + nomObjet);
    		if (nomObjet.equals(unObjet.getNom()));
    			{
    			return unObjet;
    			}
    	}
    	return null;
	}
}
Pourquoi lorsque je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
System.out.println(Joueur.getSacString());
J'obtiens
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
Dans votre sac,
Il y a:
     + gants
     + diamant
Mais que lorsque je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Objet unObjet = Joueur.getObjet("diamant");
System.out.println(unObjet.getNom());
System.out.println(unObjet.getDescription());
J'obtiens
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
gants
gants: une paire de gants
Je pense que le problème est au niveau de Joueur::getObjet(Objet).

Qui voit quelque chose qui cloche?

Merci.