vés de un arreglo. En el capítulo 19, Colecciones, veremos cómo utilizar la instrucción
for
mejorada con colec-
ciones. La sintaxis de una instrucción
for
mejorada es:
for
(parámetro : nombreArreglo )
instrucción
en donde
parámetro tiene dos partes: un tipo y un identifi cador (por ejemplo,
int numero
), y
nombreArreglo es el
arreglo a través del cual se iterará. El tipo del parámetro debe concordar con el tipo de los elementos en el arreglo.
Como se muestra en el siguiente ejemplo, el identifi cador representa valores sucesivos en el arreglo, en iteraciones
sucesivas de la instrucción
for
mejorada.
La fi gura 7.12 utiliza la instrucción
for
mejorada (líneas 12 y 13) para calcular la suma de los enteros en un
arreglo de califi caciones de estudiantes. El tipo especifi cado en el parámetro para el
for
mejorado es
int
, ya que
arreglo
contiene valores
int
; el ciclo selecciona un valor
int
del arreglo durante cada iteración. La instrucción
for
mejorada itera a través de valores sucesivos en el arreglo, uno por uno. El encabezado del
for
mejorado se
puede leer como “para cada iteración, asignar el siguiente elemento de
arreglo
a la variable
int numero
, después
ejecutar la siguiente instrucción”. Por lo tanto, para cada iteración, el identifi cador
numero
representa un valor
int
en
arreglo
. Las líneas 12 y 13 son equivalentes a la siguiente repetición controlada por un contador que se
utiliza en las líneas 12 y 13 de la fi gura 7.5, para totalizar los enteros en el
arreglo
:
for
(
int
contador =
0
; contador < arreglo.length; contador++ )
total += arreglo[ contador ];
7.6 Instruccion
for
mejorada
275
1
// Fig. 7.11: PruebaPaqueteDeCartas.java
2
// Aplicación para barajar y repartir cartas.
3
4
public
class PruebaPaqueteDeCartas
5
{
6
// ejecuta la aplicación
7
public static void
main( String args[] )
8
{
9
PaqueteDeCartas miPaqueteDeCartas =
new
PaqueteDeCartas();
10
miPaqueteDeCartas.barajar();
// coloca las Cartas en orden aleatorio
11
12
// imprime las 52 Cartas en el orden en el que se reparten
13
for
(
int
i =
0
; i <
13
; i++ )
14
{
15
// reparte e imprime 4 Cartas
16
System.out.printf(
"%-20s%-20s%-20s%-20s\n"
,
17
miPaqueteDeCartas.repartirCarta(), miPaqueteDeCartas.repartirCarta(),
18
miPaqueteDeCartas.repartirCarta(), miPaqueteDeCartas.repartirCarta() );
19
}
// fin de for
20
}
// fin de main
21
}
// fin de la clase PruebaPaqueteDeCartas
Figura 7.11
| Aplicación para barajar y repartir cartas.
Nueve de Espadas
Joto de Corazones
Quina de Treboles
Siete de Treboles
Seis de Corazones
Seis de Treboles
Joto de Diamantes
Tres de Diamantes
Diez de Diamantes
Cinco de Diamantes
As de Treboles
Rey de Diamantes
Siete de Corazones
Cuatro de Corazones
Cuatro de Espadas
Nueve de Corazones
Dos de Espadas
Quina de Diamantes
Dos de Corazones
Quina de Corazones
As de Corazones
Cuatro de Treboles
Cinco de Espadas
Joto de Treboles
Cinco de Treboles
Siete de Diamantes
As de Espadas
Ocho de Espadas
Nueve de Treboles
Cuatro de Diamantes
Siete de Espadas
Rey de Corazones
Quina de Espadas
Dos de Diamantes
Rey de Treboles
Diez de Corazones
Cinco de Corazones
As de Diamantes
Rey de Espadas
Joto de Espadas
Ocho de Diamantes
Tres de Espadas
Ocho de Treboles
Seis de Diamantes
Nueve de Diamantes
Tres de Treboles
Diez de Treboles
Dos de Treboles
Tres de Corazones
Ocho de Corazones
Diez de Espadas
Seis de Espadas
07_MAQ_CAP_07.indd275
4/19/081:22:58AM