Récupérer la valeure d'un tableau défini spécialement :)

Résolu
cs_naincus Messages postés 14 Date d'inscription dimanche 3 novembre 2002 Statut Membre Dernière intervention 25 juin 2009 - 17 oct. 2008 à 18:51
cs_naincus Messages postés 14 Date d'inscription dimanche 3 novembre 2002 Statut Membre Dernière intervention 25 juin 2009 - 18 oct. 2008 à 11:52
     Bonjour tout le monde, je fais de l'ihm et j'ai un peu de mal sur le java en lui meme et surtout les tableaux !



Alors voila mon probleme :








   Je récupère mon tableau comme cela :













 

public
String[][] getTableau(int numero) {

if (numero = = 1) {

String[][] constructGrille = {{



""

,


"4"

,


""

,


"9"

,


"5"

,


""

,


""

,


""

,


"2"

},{


"7"

,


"3"

,


""

,


""

,


"8"

,


"6"

,


""

,


"1"

,


""

}};















return


(constructGrille);

}

else  {

String[][] constructGrille = {{""
,
"2",
"",
"9",
"5",
"",
"3",
"",
"2"},{
"7",
"",
"",
"",
"8",
"6",
"",
"1",
""}};

return (constructGrille);

}




      
Et ici j'aimerais récupérer une valeure de mon tableau :

public
String getValeurTableau(



int


i,



int


j) {




return


(constructGrille[i][j]);

}
















Eclipse m'annonce l'erreur suivante sur le constructGrille :  "constructGrille cannot be resolved"
Bon en gros je comprend bien que le nom constructGrille reste uniquement dans la méthode getTableau().

Mais alors comment contourner ce problème ?

PS : Je suis obliger de déclarer les tableau de cette façon :

String[][] tableau = {{""
,"","9","","5","","","","2"},{"7","3","","","8","6","","1",""}};

PS2 :  Je ne veux pas faire :

public String getValeurTableau(
int i,
int j) {

return(getTableau(1)[i][j]);

}

car je ne sais pas à l'avance si ce sera getTableau(1) ou getTableau(2)

           Merci d'avance !!

=)

3 réponses

cs_naincus Messages postés 14 Date d'inscription dimanche 3 novembre 2002 Statut Membre Dernière intervention 25 juin 2009
18 oct. 2008 à 11:52
!! J'ai trouvé : il suffit de déclarer les grilles en attribut de la classe :

private

String[][]
grille1 = {{
"",
"4",
"",
"9",
"5",
"",
"",
"",
"2"},{

"7",
"3",
"",
"",
"8",
"6",
"",
"1",
""}};

et les récupérer directement aprés dans le constructeur avec
if blabla {

maGrille = grille1;

}

Comme ca on peut bien apeler
maGrille.getValeurTableau(1,1) .

et avoir la bonne valeure !

=)
3
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
17 oct. 2008 à 22:30
salut

ta variable est "locale", tu ne peux pas y acceder a l'exterieur de ta fonction.

donc si tu ne sais pas si c'est getTableau(1) ou getTableau(2), tu ne peux pas appeller la fonction, donc tu ne peux pas avoir la valeur...

ce numero il correspond a quoi ?
0
cs_naincus Messages postés 14 Date d'inscription dimanche 3 novembre 2002 Statut Membre Dernière intervention 25 juin 2009
18 oct. 2008 à 11:33
 Merci pour ta réponse.




<< ta variable est "locale", tu ne peux pas y acceder a l'exterieur de ta fonction. >>     <<<   oui c'est tout le probleme .



   Ce numéro correspond au numéro de la grille que je veux créer.
En gros j'ai 5 grilles différentes. Par exemple pour la grille 2 je vais faire  :                            Sudoku maGrille = new Sudoku(2)   afin de récupérer la grille 2.

   Ensuite pour récupérer les valeurs , je ne veux pas que ça dépende de la grille (je veux une méthode générale en fait), je vais faire :
maGrille.getValeurTableau(1,1) .

   Et la j'aimerais qu'il me retourne la valeure de la grille correspondante.
Voila, donc est ce possible ? :)    Merci






=)
0
Rejoignez-nous