2012-07-25 8 views
6

Por ejemplojava 101, ¿cómo cuento el número de argumentos pasados ​​a main?

public static void main(String[] args) { 
      int count = 0; 
     for (String s: args) { 
      System.out.println(s); 
       count++; 

     } 

    } 

¿Hay alguna manera de hacer algo como

int cuenta = args.length()? o args.size()?

+0

Como todos los demás han dicho, args.length es mejor. Esto se debe a que el método de contar, aunque es 100% válido, toma 'n' bucles, donde' n' es la longitud de la matriz, mientras que el acceso a args.length toma '1' loop, lo que lo hace mucho más rápido. No puede cambiar el campo 'longitud', pero aún puede acceder a él (lo llamamos" final "). –

+0

Tantas respuestas duplicadas. ¿Realmente necesitamos 6 respuestas para usar el campo 'length' de la matriz? –

Respuesta

12

Sería:

int count = args.length; 
+0

Gracias, estaba recibiendo errores usando args.length() con los corchetes. No vi ninguna razón por la que debería ser capaz de hacer eso. Error tonto, gracias – user1464251

+0

Nos sucede a todos nosotros. – jrad

4

¿hay alguna manera de hacer algo como

int cuenta = args.length()? o args.size()?

Sí, args.length.

No hay nada especial sobre args; es una matriz regular de objetos String y puede tratarse como tal.

1

Todas las matrices tienen un "campo" llamada length

int count = args.length; 
1
public static void main(String[] args) { 
    System.out.println(args.length); 
} 
1

"args" es sólo una matriz, por lo que puede utilizar es propiedad de longitud.

De esta manera:

System.out.println(args.length); 

y que son buenos para ir.

1

Utilice simplemente
int length=args.length

args es simplemente una matriz y se puede utilizar de propiedad de longitud.

Cuestiones relacionadas