J'ai été confondu avec l'utilisation de args.length, j'ai codé quelque chose ici:
public static void main(String[] args) {
int [] a = new int[args.length];
for(int i = 0;i<args.length;i++) {
System.out.print(a[i]);
}
}
L'impression est 0 quelle que soit la valeur que je mets dans les arguments de ligne de commande, je pense avoir probablement confondu args.length avec les arguments args [0], quelqu'un pourrait-il expliquer? Je vous remercie.
int
tableau est initialisé à zéro (tous les membres seront zéro) par défaut, voir 4.12.5. Valeurs initiales des variables :
Chaque variable de classe, variable d'instance ou composant de tableau est initialisé avec une valeur par défaut lors de sa création ...
Pour le type int, la valeur par défaut est zéro .
Vous imprimez la valeur du tableau, vous obtenez donc 0
.
Avez-vous essayé de faire cela?
for (int i = 0; i < args.length; i++) {
System.out.print(args[i]);
}
args
contient les arguments ligne de commande qui sont transmis au programme. args.length
est la longueur des arguments. Par exemple si vous exécutez:
Java myJavaProgram first second
args.length
sera 2 et il contiendra ["first", "second"]
.
Et la longueur des arguments du tableau est automatiquement définie sur 2 (nombre de vos paramètres), il n’est donc pas nécessaire de définir la longueur des arguments.
Je pense qu'il vous manque un code qui convertit Strings en ints:
public static void main(String[] args) {
int [] a = new int[args.length];
// Parse int[] from String[]
for (int i = 0; i < args.length; i++){
a[i] = Interger.parseInt(args[i]);
}
for (int i = 0; i < args.length; i++){
System.out.print(a[i]);
}
}
Le tableau a
sur lequel vous parcourez n'est pas le args
qui contient les arguments réels. Tu devrais essayer:
public static void main(String[] args) {
for(int i = 0;i<args.length;i++){
System.out.print(args[i]);
}
}
args[0]
est le premier élément du tableau args
. args.length
est la longueur du tableau
args.length est = 0;
si vous recherchez cette sortie:
args [0]: zéro
args [1]: un
args [2]: deux
args [3]: trois
voici l'exemple ...
public static void main (String [] args) {
// tableau avec le nom de tableau "arg" String [] arg = {"zéro", "un", "deux", "trois"};
for( int i=0; i<arg.length ;++i)
{
System.out.println("args["+i+"]:"+arg[i]);
}
}
}
vous devez donner une longueur au tableau ..
les arguments que vous passez sont stockés dans un tableau args et non ce que vous appelez le tableau a. . Par défaut, un tableau correctement déclaré, s'il n'est pas initialisé, prend les valeurs par défaut de ses types de données. dans votre cas 0.
alors tu fais
public static void main(String[] args) {
for(int i = 0;i<args.length;i++){
System.out.print(args[i]);
}
}
ou initialisez le tableau a avec les arguments.