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

Signaler
Messages postés
14
Date d'inscription
dimanche 3 novembre 2002
Statut
Membre
Dernière intervention
25 juin 2009
-
cs_naincus
Messages postés
14
Date d'inscription
dimanche 3 novembre 2002
Statut
Membre
Dernière intervention
25 juin 2009
-
     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

Messages postés
14
Date d'inscription
dimanche 3 novembre 2002
Statut
Membre
Dernière intervention
25 juin 2009

!! 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 !

=)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
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 ?
Messages postés
14
Date d'inscription
dimanche 3 novembre 2002
Statut
Membre
Dernière intervention
25 juin 2009

 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






=)