por comas. Cuando se ejecuta este comando, el método 

main

 de 

MiClase

 recibe el arreglo 

args

 de dos elementos 

(es decir, el valor del atributo 

length

 de 

args

 es 

2

), en el cual 

args[ 0 ]

contiene el objeto 

String

 

"a"

 y 

args

[ 1 ]

contiene el objeto 

String "b"

. Los usos comunes de los argumentos de línea de comandos incluyen pasar 

opciones y nombres de archivos a las aplicaciones.

La fi gura 7.21 utiliza tres argumentos de línea de comandos para inicializar un arreglo. Cuando se ejecuta 

el programa, si 

args.length

 no es 

3

, el programa imprime un mensaje de error y termina (líneas 9 a 12). En 

cualquier otro caso, las líneas 14 a 32 inicializan y muestran el arreglo, con base en los valores de los argumentos 
de línea de comandos.

Los argumentos de línea de comandos están disponibles para 

main

 como objetos 

String

 en 

args

. La línea 

16 obtiene 

args[ 0 ]

 (un objeto 

String

 que especifi ca el tamaño del arreglo) y lo convierte en un valor 

int

, que 

el programa utiliza para crear el arreglo en la línea 17. El método 

static parseInt

 de la clase 

Integer

 convierte 

su argumento 

String

 en un 

int

.

Las líneas 20 a 21 convierten los argumentos de línea de comandos 

args[ 1 ]

 y 

args[ 2 ]

 en valores 

int

y los almacenan en 

valorInicial

 e 

incremento

, respectivamente. Las líneas 24 y 25 calculan el valor para cada 

elemento del arreglo.

Los resultados de la primera ejecución muestran que la aplicación recibió un número insufi ciente de argu-

mentos de línea de comandos. La segunda ejecución utiliza los argumentos de línea de comandos 5, 0 y 4 para 
especifi car el tamaño del arreglo (5), el valor del primer elemento (0) y el incremento de cada valor en el arreglo 
(4), respectivamente. Los resultados correspondientes muestran que estos valores crean un arreglo que contiene 
los enteros 0, 4, 8, 12 y 16. Los resultados de la tercera ejecución muestran que los argumentos de línea de coman-
dos 10, 1 y 2 producen un arreglo cuyos 10 elementos son los enteros impares positivos del 1 al 19.

 1 

// Fig. 7.21: InicArreglo.java

 2 

// Uso de los argumentos de línea de comandos para inicializar un arreglo.

 3 
 4 

public class

 InicArreglo 

 5 

{

 6  

public static void

 main( String args[] )

 7  

{

 8   

// comprueba el número de argumentos de línea de comandos

 9   

if ( args.length != 3 )

 

10    

System.out.println(

 11 

 

 

 

        

"Error: Vuelva a escribir el comando completo, incluyendo\n"

 + 

 12 

 

 

 

        

"el tamanio del arreglo, el valor inicial y el incremento."

 );

 13  

 

else

 14  

 

{

 

15    

// obtiene el tamaño del arreglo del primer argumento de línea de comandos

 

16    

int

 longitudArreglo = Integer.parseInt( args[ 

0

 ] ); 

 

17    

int

 arreglo[] = 

newint

[ longitudArreglo ]; 

// crea el arreglo

 18 
 

19     

// obtiene el valor inicial y el incremento de los argumentos de línea de 
comandos

 

20    

int

 valorInicial = Integer.parseInt( args[ 

1

 ] );

 

21    

int

 incremento = Integer.parseInt( args[ 

2

 ] );

 22 
 

23    

// calcula el valor para cada elemento del arreglo

 

24    

for

 ( 

int

 contador = 

0

; contador < arreglo.length; contador++ )

 25 

 

 

 

       

arreglo[ contador ] = valorInicial + incremento * contador;

 26 
 

27    

System.out.printf(

"%s%8s\n"

,

"Indice"

,

"Valor"

 );

 28 
 

29    

// muestra el índice y el valor del arreglo

 

30    

for

 ( 

int

 contador = 

0

; contador < arreglo.length; contador++ )

 31 

 

 

 

      

System.out.printf(

"%5d%8d\n"

, contador, arreglo[ contador ] );

Figura 7.21

  |  Inicialización de un arreglo, usando argumentos de línea de comandos. (Parte 1 de 2).

7.12 Uso de argumentos de línea de comandos 

295

07_MAQ_CAP_07.indd295

4/19/081:23:08AM