172

Capítulo 5 Instrucciones de control: parte 2

Las expresiones de 

inicialización e incremento pueden ser listas separadas por comas de expresiones que nos 

permitan utilizar varias expresiones de inicialización, o varias expresiones de incremento. Por ejemplo, aunque 
esto no se recomienda, el cuerpo de la instrucción 

for

 en las líneas 11 y 12 de la fi gura 5.5 podría mezclarse con 

la porción del incremento del encabezado 

for

 mediante el uso de una coma, como se muestra a continuación:

for

(

int

numero = 

2

; numero <= 

20

; total += numero, numero += 

2

 )

 ; 

 // instrucción vacía

Buena práctica de programación 5.4

Limite el tamaño de los encabezados de las instrucciones de control a una sola línea, si es posible.

Aplicación: cálculo del interés compuesto

La siguiente aplicación utiliza la instrucción 

for

 para calcular el interés compuesto. Considere el siguiente pro-

blema:

Una persona invierte $1 000.00 en una cuenta de ahorro que produce el 5% de interés. Supo-
niendo que todo el interés se deposita en la cuenta, calcule e imprima el monto de dinero en 
la cuenta al fi nal de cada año, durante 10 años. Use la siguiente fórmula para determinar los 
montos:

c = p(1 + r)

n

en donde

pes el monto que se invirtió originalmente (es decir, el monto principal)
res la tasa de interés anual (por ejemplo, use 0.05 para el 5%)
nes el número de años
ces la cantidad depositada al fi nal del n-ésimo año.

Este problema implica el uso de un ciclo que realiza los cálculos indicados para cada uno de los 10 años que 

el dinero permanece depositado. La solución es la aplicación que se muestra en la fi gura 5.6. Las líneas 8 a 10 
en el método 

main

 declaran las variables 

double

 llamadas 

monto, principal 

y

tasa

, e inicializan 

principal

con

1000.0

y

tasa

 con 

0.05.

 Java trata a las constantes de punto fl otante, como 

1000.0

 y 

0.05

, como de tipo 

double

. De manera similar, Java trata a las constantes de números enteros, como

7

 y 

-22

, como de tipo 

int

.

La línea 13 imprime en pantalla los encabezados para las dos columnas de resultados de esta aplicación. La 

primera columna muestra el año y la segunda, la cantidad depositada al fi nal de ese año. Observe que utilizamos 
el especifi cador de formato 

%20s

 para mostrar en pantalla el objeto 

String “Monto en deposito”

. El entero 

20

 después del 

%

 y el carácter de conversión 

s

 indica que el valor a imprimir debe mostrarse con una 

anchura

de campo

 de 20; esto es, 

printf

 debe mostrar el valor con al menos 20 posiciones de caracteres. Si el valor a 

imprimir tiene una anchura menor a 20 posiciones de caracteres (en este ejemplo son 17 caracteres), el valor se 

justifi ca a la derecha 

en el campo de manera predeterminada. Si el valor 

anio

 a imprimir tuviera una anchura 

mayor a cuatro posiciones de caracteres, la anchura del campo se extendería a la derecha para dar cabida a todo 
el valor; esto desplazaría al campo 

monto

 a la derecha, con lo que se desacomodarían las columnas ordenadas de 

nuestros resultados tabulares. Para indicar que los valores deben imprimirse 

justifi cados a la izquierda

, sólo hay 

que anteponer a la anchura de campo la 

bandera de formato de signo negativo (–)

.

La instrucción 

for

 (líneas 16 a 23) ejecuta su cuerpo 10 veces, con lo cual la variable de control 

anio

 varía 

de 1 a 10, en incrementos de 1. Este ciclo termina cuando la variable de control 

anio

 se vuelve 11 (observe que 

anio

 representa a la 

n en el enunciado del problema).

Las clases proporcionan métodos que realizan tareas comunes sobre los objetos. De hecho, la mayoría de los 

métodos a llamar deben pertenecer a un objeto específi co. Por ejemplo, para imprimir texto en la fi gura 5.6, la 
línea 13 llama al método 

printf

en el objeto 

System.out

.Muchas clases también cuentan con métodos que 

realizan tareas comunes y no requieren objetos. En la sección 3.9 vimos que a estos métodos se les llama 

static

.

Por ejemplo, Java no incluye un operador de exponenciación, por lo que los diseñadores de la clase 

Math

 defi nie-

ron el método 

static

 llamado 

pow

 para elevar un valor a una potencia. Para llamar a un método 

static

 debe 

especifi car el nombre de la clase, seguido de un punto (

.

) y el nombre del método, como en

 

 

NombreClase.nombreMétodo ( argumentos )

05_MAQ_CAP_05.indd172

4/19/081:21:28AM