Bonjour,
Je rencontre quelques soucis dans le développement de mon programme.
PS : Les noms de classe sont inventés .
Voici la classe CasePion
Et voici ma classe EchecCase imaginons :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public class CasePion extends Observable implements controler.ICasePion { private enum State { /* ... */ private static final String[] STRINGS = new String[] { "*", "-", foo, foo }; @Override public String toString() { return STRINGS[this.ordinal()]; } } /* ......... */ }
Donc c est la ligne [code] s+= casepion(i, j).toString() +.. qui m'a l'air de poser soucis.
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 public class EchecCase { /* Quelques attributes */ @Override public String toString() { final String tabu = "\t"; String string = new String(tabu); for(int i=0; i < DIM; i++) for(int j=0; j< DIM; j++) string+= casepion(i, j).toString() +... return string; }
En remplaçant le casepion(i, j).toString() par "*", ça m'affiche bien un tableau contenant les étoiles, par contre on mettant casepion(i, j).toString(), la fonction toString devant retourné un/des éléments du tableau STRINGS n'est pas du tout appelée ..
J'ai des résultats bizarre du style
Apparemment la méthode toString() renvoie le nom de la classe suivie de son adresse..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 [java] modele.CasePion@a62b39f modele. modele.casePion@55fe910c modele.CasePion@3be4d6ef modele.CasePion@2cdb03a1 modele.CasePion@5ecb5608 modele.CasePion@777d57d6 et [java] etc .. pour tout les éléments du damier ( à la place des * , - .. )
Du coup un indice là-dessus ?
Quels pourraient être les problèmes à ce non appel ?
Merci
Partager