mir datos con formato hacia un destino especifi cado, como un archivo en el disco. De manera predeterminada, 
un objeto 

Formatter

 crea una cadena en la memoria. En la fi gura 29.24 se muestra cómo usar un objeto 

Forma-

tter

 para crear una cadena con formato, la cual después se muestra en un cuadro de diálogo de mensaje.

En la línea 11 se crea un objeto 

Formatter

 mediante el uso del constructor predeterminado, por lo que este obje-

to creará una cadena en la memoria. Se incluyen otros constructores para que el programador pueda especifi car 
el destino hacia el que se deben enviar los datos con formato. Para obtener más información, consulte la página 

java.sun.com/javase/6/docs/api/java/util/Formatter.html

En la línea 12 se invoca el método 

format

 para dar formato a la salida. Al igual que 

printf

, el método 

format

 recibe una cadena de formato y una lista de argumentos. La diferencia es que 

printf

 envía la salida 

con formato directamente al fl ujo de salida estándar, mientras que 

format

 envía la salida con formato al destino 

especifi cado por su constructor (en este programa, una cadena en la memoria). En la línea 15 se invoca el méto-
do

toString

 de 

Formatter

 para obtener los datos con formato, como una cadena que luego se muestra en un 

cuadro de diálogo de mensaje.

Observe que la clase 

String

 también proporciona un método de conveniencia 

static

 llamado 

format

, el 

cual nos permite crear una cadena en la memoria, sin necesidad de crear primero un objeto 

Formatter

. Podría-

mos haber sustituido las líneas 11 a 12 y la línea 15 de la fi gura 29.24 por:

String s = String.format( 

"%d = %#o = %#^x"

,

10

,

10

,

10

 );

JOptionPane.showMessageDialog(

null

, s );

 1 

// Fig. 29.24: PruebaFormatter.java

2

// Cadena de formato con la clase Formatter.

3

import

 java.util.Formatter;

 4 

import

 javax.swing.JOptionPane;

 5 
 6 

public class

 PruebaFormatter 

 7 

{

 8  

public static void

 main( String args[] ) 

 9  

{

 10  

 

// crea un objeto Formatter y aplica formato a la salida

11   

Formatter formatter = 

new

 Formatter();

 12  

 

formatter.format(

 "%d = %#o = %#X"

,

10

,

10

,

10

 );

 13 
 14  

 

// muestra la salida en el componente JOptionPane

15   

JOptionPane.showMessageDialog(

null

, formatter.toString() );

 16  

}

// fin de main

17

}

// fin de la clase PruebaFormatter

Figura 29.24

  |  Aplicar formato a la salida con la clase 

Formatter

.

29.14 Conclusión

En este capítulo vimos un resumen acerca de cómo aplicar formato a la salida mediante los diversos caracteres 
y banderas de formato. Mostramos números decimales mediante el uso de los caracteres de formato 

d

,

o

,

x

 y 

X

.

Mostramos números de punto fl otante usando los caracteres de formato 

e

,

E

,

f

,

g

 y 

G

. Mostramos la fecha y la 

hora en diversos formatos, usando los caracteres de formato 

t

 y 

T

 junto con sus caracteres de sufi jo de conversión. 

Aprendió a mostrar la salida con anchuras de campo y precisiones. Presentamos las banderas 

+

,

-

, espacio, 

#

,

0

,

coma y 

( que se utilizan en conjunto con los caracteres de formato para producir la salida. También demostramos 

29.14 Conclusión 

1291

29_MAQ_CAP_29_DEITEL.indd1291

5/8/084:21:23PM