Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VariableDeclaratorId expected lors de l'instanciation d'un object

1 réponse
Avatar
MouhamedIs
Bonjour, à tous
Je suis bloqué dans un exercice qui consiste à créer un jeu Chifouni(Pierre, Papier, Ciseaux). En voulant instancier un objet JeuUnTour dans le constructeur de la classe LanceJeuUnTou, j'obtient cet erreur "Syntax error on token "jeuUnTour", VariableDeclaratorId expected after this token". Je sais pas comment le résoudre
-- Code de la classe LanceJeuUnTour
<code>
package chifoumi;

public class LanceJeuUnTour {

public static void main(String[] args) {
// TODO Auto-generated method stub

JeuUnTour jeuUnTour;
public LanceJeuUnTour()
{
jeuUnTour = new JeuUnTour(args[0], args[1]);
}

}

}
</code>
Il y a aussi une méthode main dans la classe TestIHMSaisie, je sais pas si elle est à la cause.


Merci d'avance

1 réponse

Avatar
David Larochette
Le 03/11/2020 Í  20:54, MouhamedIs a écrit :
Bonjour, Í  tous
Je suis bloqué dans un exercice qui consiste Í  créer un jeu Chifouni(Pierre,
Papier, Ciseaux). En voulant instancier un objet JeuUnTour dans le constructeur
de la classe LanceJeuUnTou, j'obtient cet erreur "Syntax error on token
"jeuUnTour", VariableDeclaratorId expected after this token". Je sais pas
comment le résoudre
-- Code de la classe LanceJeuUnTour
<code>
package chifoumi;
public class LanceJeuUnTour {
public static void main(String[] args) {
// TODO Auto-generated method stub
JeuUnTour jeuUnTour;
public LanceJeuUnTour()
{
jeuUnTour = new JeuUnTour(args[0], args[1]);
}
}
}
</code>

Tu définis le constructeur de la classe LanceJeuUnTour au beau milieu
de la méthode statique main(), ce qui est interdit en Java.
Il te faudrait un code de la forme :
package chifoumi;
public class LanceJeuUnTour {
public static void main(String[] args) {
if (args.length < 2)
System.out.println("Nombre d’arguments insuffisant.");
return;
LanceJeuUnTour lanceJeuUnTour = new LanceJeuUnTour(arg[0],
arg[1]);
}
public LanceJeuUnTour(String a, String b) {
JeuUnTour jeuUnTour = new JeuUnTour(a, b);
}
}
Au passage, si ta class LanceJeuUnTour ne sert qu’Í  instancier une
classe JeuUnTour, peut-être vaut-il mieux mettre ton main directement
dans la classe JeuUnTour ?
Il y a aussi une méthode main dans la classe TestIHMSaisie, je sais pas si elle
est Í  la cause.

Tu peux créer autant de main() que tu veux, mais un seul sera lancé
au démarrage de l’application.