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