Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Sylvain SF
a écrit :
bonjour,
voilà j'essaye de faire une procédure du type
public static void init(int jeu[][]){ int i,j; jeu = new int[8][8]; ... }
mon soucis c'est que dés que je l'apelle comme ceci init(jeu[][]; la jvm me renvoit ceci '.class' expected
[][] fait parti du type de la variable, pas du nom de celle-ci. si vous voulez transmettre la variable 'jeu', écrivez simplement:
init(jeu);
... sous reserve que 'jeu' existe là où l'appel est réalisé, or "init" instantie cette variable (peut être en double) et ce tableau paramètre (cette variable 'jeu') peut pas un paramètre variant, vous perdez donc toute l'initialisation à la sortie de "init"
pour faire simple codez:
public static int[][] init(int kColumn, int kRow){ int[][] array = new int[kColumn][kRow]; // faire quelque chose du tableau // le code posté n'a pas de sens return array; }
// et utilisez quelque part:
int[][] jeu = init(8, 8);
Sylvain.
yoyo@invalid a écrit :
bonjour,
voilà j'essaye de faire une procédure du type
public static void init(int jeu[][]){
int i,j;
jeu = new int[8][8];
...
}
mon soucis c'est que dés que je l'apelle comme ceci
init(jeu[][];
la jvm me renvoit ceci '.class' expected
[][] fait parti du type de la variable, pas du nom de celle-ci.
si vous voulez transmettre la variable 'jeu', écrivez simplement:
init(jeu);
... sous reserve que 'jeu' existe là où l'appel est réalisé,
or "init" instantie cette variable (peut être en double) et
ce tableau paramètre (cette variable 'jeu') peut pas un
paramètre variant, vous perdez donc toute l'initialisation
à la sortie de "init"
pour faire simple codez:
public static int[][] init(int kColumn, int kRow){
int[][] array = new int[kColumn][kRow];
// faire quelque chose du tableau
// le code posté n'a pas de sens
return array;
}
public static void init(int jeu[][]){ int i,j; jeu = new int[8][8]; ... }
mon soucis c'est que dés que je l'apelle comme ceci init(jeu[][]; la jvm me renvoit ceci '.class' expected
[][] fait parti du type de la variable, pas du nom de celle-ci. si vous voulez transmettre la variable 'jeu', écrivez simplement:
init(jeu);
... sous reserve que 'jeu' existe là où l'appel est réalisé, or "init" instantie cette variable (peut être en double) et ce tableau paramètre (cette variable 'jeu') peut pas un paramètre variant, vous perdez donc toute l'initialisation à la sortie de "init"
pour faire simple codez:
public static int[][] init(int kColumn, int kRow){ int[][] array = new int[kColumn][kRow]; // faire quelque chose du tableau // le code posté n'a pas de sens return array; }
// et utilisez quelque part:
int[][] jeu = init(8, 8);
Sylvain.
yoyo
Sylvain SF wrote:
a écrit :
bonjour,
voilà j'essaye de faire une procédure du type
public static void init(int jeu[][]){ int i,j; jeu = new int[8][8]; ... }
mon soucis c'est que dés que je l'apelle comme ceci init(jeu[][]; la jvm me renvoit ceci '.class' expected
[][] fait parti du type de la variable, pas du nom de celle-ci. si vous voulez transmettre la variable 'jeu', écrivez simplement:
init(jeu);
ok!!! j'avais essayé mais le traitement s'affichait pas, je viens de trouvé mon erreur.
... sous reserve que 'jeu' existe là où l'appel est réalisé, or "init" instantie cette variable (peut être en double) et ce tableau paramètre (cette variable 'jeu') peut pas un paramètre variant, vous perdez donc toute l'initialisation à la sortie de "init"
oui en effet elle est en double mais int jeux est juste un parametre, donc une variable locale.
pour faire simple codez:
public static int[][] init(int kColumn, int kRow){ int[][] array = new int[kColumn][kRow]; // faire quelque chose du tableau // le code posté n'a pas de sens return array; }
// et utilisez quelque part:
int[][] jeu = init(8, 8);
Sylvain.
Sylvain SF wrote:
yoyo@invalid a écrit :
bonjour,
voilà j'essaye de faire une procédure du type
public static void init(int jeu[][]){
int i,j;
jeu = new int[8][8];
...
}
mon soucis c'est que dés que je l'apelle comme ceci
init(jeu[][];
la jvm me renvoit ceci '.class' expected
[][] fait parti du type de la variable, pas du nom de celle-ci.
si vous voulez transmettre la variable 'jeu', écrivez simplement:
init(jeu);
ok!!! j'avais essayé mais le traitement s'affichait pas, je viens de trouvé
mon erreur.
... sous reserve que 'jeu' existe là où l'appel est réalisé,
or "init" instantie cette variable (peut être en double) et
ce tableau paramètre (cette variable 'jeu') peut pas un
paramètre variant, vous perdez donc toute l'initialisation
à la sortie de "init"
oui en effet elle est en double mais int jeux est juste un parametre, donc
une variable locale.
pour faire simple codez:
public static int[][] init(int kColumn, int kRow){
int[][] array = new int[kColumn][kRow];
// faire quelque chose du tableau
// le code posté n'a pas de sens
return array;
}
public static void init(int jeu[][]){ int i,j; jeu = new int[8][8]; ... }
mon soucis c'est que dés que je l'apelle comme ceci init(jeu[][]; la jvm me renvoit ceci '.class' expected
[][] fait parti du type de la variable, pas du nom de celle-ci. si vous voulez transmettre la variable 'jeu', écrivez simplement:
init(jeu);
ok!!! j'avais essayé mais le traitement s'affichait pas, je viens de trouvé mon erreur.
... sous reserve que 'jeu' existe là où l'appel est réalisé, or "init" instantie cette variable (peut être en double) et ce tableau paramètre (cette variable 'jeu') peut pas un paramètre variant, vous perdez donc toute l'initialisation à la sortie de "init"
oui en effet elle est en double mais int jeux est juste un parametre, donc une variable locale.
pour faire simple codez:
public static int[][] init(int kColumn, int kRow){ int[][] array = new int[kColumn][kRow]; // faire quelque chose du tableau // le code posté n'a pas de sens return array; }
// et utilisez quelque part:
int[][] jeu = init(8, 8);
Sylvain.
Sylvain SF
a écrit :
oui en effet elle est en double mais int jeux est juste un parametre, donc une variable locale.
précisément non.
void foo(int a){ int b; }
"a" est un paramètre. "b" est une variable locale.
ce n'est pas pinaillage mais vocabulaire de base et pour discuter sur un NG il est utile de s'entendre sur le vocabulaire.
SF.
yoyo@invalid a écrit :
oui en effet elle est en double mais int jeux est juste un parametre, donc
une variable locale.
précisément non.
void foo(int a){
int b;
}
"a" est un paramètre.
"b" est une variable locale.
ce n'est pas pinaillage mais vocabulaire de base
et pour discuter sur un NG il est utile de s'entendre
sur le vocabulaire.