Tableau en java

sab_safaa Messages postés 12 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 8 juillet 2005 - 17 août 2004 à 16:23
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 - 18 août 2004 à 18:40
au secours svp

voila mon pb je declare un tableau globlal comme cela au debut de ma page : String[][] data;
l affectation des dimensions et la creation du tableau se fait dans une procedure data=new String[2][longueur];
mais ca marche pas :-(
il me sort les fautes suivante :
non-static variable data cannot be referenced from a static context

8 réponses

wargre Messages postés 649 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 9 septembre 2004 7
17 août 2004 à 16:37
met soit

static String[][] data;

MAIS fait attention a ce que tu fais avec ce static

soit tu instancies ta classe (Classe truc=new Classe();)
et tu initialise data dans le constructeur (ou une autre methode) avec this.data=new ....

ou tu mets data en public (non recommendé) et de l'exterieure de la classe:
truc.data=new ...
0
sab_safaa Messages postés 12 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 8 juillet 2005
17 août 2004 à 18:00
merci c est fait j ai plus le message d erreur ;)

mais j ai un autre probleme aussi con que le premier mais vu que que je debute je suis %-6
le voila le probleme
String[][] data = new String[longueur][2];
int i=0;
int j;

while (rst3.next()){
j=0;

data[i][j]=Integer.toString(rst3.getInt(1));
data[i][j++]=Integer.toString(rst3.getInt(2));
}
le but est de mettre les valeurs dans data mais apres l execution ma table ne contient que des "null"
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
17 août 2004 à 19:38
GodConan :clown)

si rst3.getInt() renvoi null c normale ... ;o)
0
JBAware Messages postés 174 Date d'inscription lundi 23 septembre 2002 Statut Membre Dernière intervention 6 avril 2011 1
17 août 2004 à 20:33
Salut je viens de modifier un peu le code

String[][] data =  new String[longueur][2];
int i=0;
int j;

while  ( (rst3.next()) && (i < longueur)) {
//tant que rst3 contient des données et que l'on a pas atteint la
// longueur max du tableau

j =0;

data[i][j]=Integer.toString(rst3.getInt(1));
data[i][j++]=Integer.toString(rst3.getInt(2));

 i++;
}



le probleme est que i était toujours egal à 0 donc tu ne remplissait que la ligne 0...

8-) JB@WAre
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
18 août 2004 à 00:45
GodConan :clown)

j + 1 au lieu de j++ serai plus juste dailleur ;o)

m enfinds tou les cas un vector serai + aproprier ;o) ...
0
sab_safaa Messages postés 12 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 8 juillet 2005
18 août 2004 à 10:46
j ai ajoute le i++ et j ai verifie le contenu du rst.Integer qui n est pas null
ca marche toujours pas :sad)
0
sab_safaa Messages postés 12 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 8 juillet 2005
18 août 2004 à 11:13
c est bon merci les gars
voila d ou vient le probleme

data[i][j]=Integer.toString(rst3.getInt(1));
j++;
data[i][j]=Integer.toString(rst3.getInt(2));

si je fais
data[i][j++]=Integer.toString(rst3.getInt(2));
il insere apres il incremente
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
18 août 2004 à 18:40
GodConan :clown)

tu peu aussi faire "++j" si tu tien absolument a la syntax C++ ;o)
0
Rejoignez-nous