bonjour à tous,
j'ai créé une classe "Identité2" qui contient deux membres, le nom et le prénom de la personne, initialisée pour le test à : patrick martin.
Le code simple est :
Quand je créé une identité par défaut, comme ici :
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 package main; import java.io.Serializable; // -------- classe Identité2 ------------------- public class Identité2 implements Serializable{ private static final long serialVersionUID = 1L; // membres public String nom = " patrick"; public String prenom = "martin" ; // constructeur public Identité2() { } } // ======= fin de classe Identité2=============
je récupère bien mon identité par défaut :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Identité2 qui = new Identité2(); System.out.println("mon identité de type Identité2 vaut : " + qui.nom + " et : " + qui.prenom);
Je sais, je n'ai pas grand mérite.....
Je créé ensuite un tableau, pour stocker mes identités. Je l'implémente au début de ma classe en static :
Ensuite, plus loin, je désire faire une boucle pour intialiser ce tableau avec les strings "absent" pour le nom et le prénom. (Je sais, j'aurai initialiser dans la classe à la création, le problème serait peut-être évité, mais j'aimerais comprendre ma mauvaise manip...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 static Identité2[] nomsDesPrésents = new Identité2 [nbParticipants];
Cela ne fonctionne plus !! Même si je prends des caractéristiques du tableau créé, il semble bien exister, mais le compilateur me dit que la référence pointe vers rien!!!
(le tableau listeIn, créé en static également ne pose aucun problème. J'ai affiché ses caractéristiques pour essayer de voir des différences avec celles affichées pour nomsDesPrésents qui semble non accessibles par index...)
Même si j'essaie un accès avec un index du tableau en dur, ca ne veut pas...
Le code est :
La console indique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 // on initialise les tableaux de stockage for (int i = 0 ; i<nomsDesPrésents.length; i++) { System.out.println("voila listeIn au point maudit : " + listeIn); System.out.println("voila nomDesPrésents au point maudit : " + nomsDesPrésents + ", de longueur : " + nomsDesPrésents.length); System.out.println("i = " + i + "la valeur initiale est : " + nomsDesPrésents[i].nom); nomsDesPrésents[i].nom = "absent"; nomsDesPrésents[i].prenom = "absent"; listeIn[i] = null; listeOut[i] = null; }
Voila mon soucis. Je n'ai pas ce genre de problème d'habitude. Peut-être la fatigue car ça ne parait pas très compliqué.
Si mon erreur saute aux yeux de quelqu'un, ce sera un grand MERCI!....
Bonne soirée.
Partager