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