Bonjour,
J'ai un bout de code que je ne comprend pas :
Je voudrais savoir :Code:
1
2
3
4 if(args[2].compareTo("/m")==0) { string=upper(args[1]); }
-à quoi correspond le "/m"
-comment un tableau d'args se rempli
Merci d'avance
Version imprimable
Bonjour,
J'ai un bout de code que je ne comprend pas :
Je voudrais savoir :Code:
1
2
3
4 if(args[2].compareTo("/m")==0) { string=upper(args[1]); }
-à quoi correspond le "/m"
-comment un tableau d'args se rempli
Merci d'avance
Aucune idée, ça correspond à ce que le programmeur a décidé. Ce n'est pas un standard Java.
Il semble assez évident, que le but est de gérer /m comme un paramètre en ligne de commande du programme Java.
Pour qu'il soit possible de l'appeler de cette manière :
À noter qu'il n'aurait pas fallu utiliser compareTo().Code:java MonProgramme hello world /m
Il valait mieux faire :
C'est plus clair.Code:if(args[2].equals("/m"))
args est le nom de la variable, ce n'est pas un type.
si par le plus grand des hasards nous sommes en train de parler de la méthode :
c'est une convention Java.Code:public static void main(String[] args) {
Cette méthode sera appelée au démarrage du programme, et args contiendra les paramètres en ligne de commande du programme.
Par exemple, s'il est appelé ainsi :
alors le contenu de args sera ainsi :Code:java MonProgramme hello world /m
Code:
1
2
3 args[0] = "hello"; args[1] = "world"; args[2] = "/m";
La méthode compareTo de la classe String renvoie 1 ; -1 ou 0 correspondant si le paramètre est inférieur ou supérieur léxicalement.
Par exemple, baba est placé avant babar dans le dico. Donc si args[2] vaut baba et "babar" est passé en paramètres, compareTo renvoie -1
Dans la condition, on teste, d'une manière différente, siCode:args[2].equals("/m")
Donc, /M serait un caractère ?
ok.
Par contre, j'ai pas très bien compris comment se remplissait le tableau args
Par exemple pour "java MonProgramme hello world /m", hello word est-il un message saisi par l'utilisateur ou un message qu'on affiche.
quand tu lances un jar tu fais :
java est un programme (c:/Program Files...)Code:java -jar monJar.jar
-jar la 1ere chaine de caractère (args[0])
monJar.jar est la 2eme chaine (args[1])
le tableau se rempli au moment de l’exécution du programme (appel du main) qui spécifie comment le programme est éxécuté.
Dans ton cas on cherche à savoir si la paramètre donné est /m
Merci pour les réponses.
SI c'est OK n'oublies pas de mettre le sujet en résolu ;)