OVH Cloud OVH Cloud

Problème de débutant

2 réponses
Avatar
Alemanni Gilberto
Hello,
Je suis débutant en programmation java et en testant les exemples d'un
bouquin je suis tombé sur un problème dont le bouquin ne donne pas de
solution. Voici le code:

Fichier test.java:

public class test {
public static void main(String[] x) {
System.out.println(x[0]+x[1]);
}
}

Compilation ok.

Exécution

% java test aaa bbb
% aaabbb

OK, mais

% java -aaa bbb
% Warning: -aaa not understood. Ignoring.
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at test.main(java.lang.String[]) (Unknown Source)

Quel est le problème ? pourquoi le signe "-" n'est-il pas accepté ?

Merci

2 réponses

Avatar
ilan.ginzburg
-aaa est interprété comme une option passée à la JVM (à la
commande java) et cette option n'existe pas.

T'as pas mis le nom de la classe à exécuter (test), alors
forcement... Rajoute test devant et ca devrait le faire.
Avatar
Alemanni Gilberto
-aaa est interprété comme une option passée à la JVM (à la
commande java) et cette option n'existe pas.

T'as pas mis le nom de la classe à exécuter (test), alors
forcement... Rajoute test devant et ca devrait le faire.



Merci, j'ai trouvé le problème. Mon java est en fait la la version gnu
et la commande java est un script qui lance la commande
java de gnu "gij". Si j'exécute

% gij test -aaa bbb

cela fontionne correctement, mais si j'utilise java, ce dernier
iterprète -aaa comme une option de gij.