Introducción
En Java, el método String.format() formatea una cadena utilizando una combinación de una cadena de formato, una configuración regional y argumentos. La cadena de formato especifica el formato al que deben convertirse los argumentos, y la configuración regional especifica cualquier configuración que se debe utilizar, como el idioma o la región. En este laboratorio, aprenderemos más sobre cómo utilizar el método String.format() para formatear cadenas.
Creando un ejemplo simple de formateo de cadenas
En este paso, crearemos un ejemplo básico de uso del método String.format() para formatear una cadena.
- Crea un nuevo archivo Java llamado
SimpleFormatExample.javaen el directorio~/project. - En el método
main()de la claseSimpleFormatExample, crea una variable de cadena llamadaformattedStringy asígnale el resultado de llamar aString.format()con los siguientes argumentos:- La cadena
"Hola, %s!"como cadena de formato. - La cadena
"mundo"como argumento.
- La cadena
- Imprime el valor de
formattedStringutilizandoSystem.out.println(). - Guarda y cierra el archivo
SimpleFormatExample.java. - En la terminal, compila el archivo
SimpleFormatExample.javaejecutando el siguiente comando:javac SimpleFormatExample.java. - Luego, ejecuta el archivo de clase utilizando el comando
java SimpleFormatExample.
Aquí está el código:
public class SimpleFormatExample {
public static void main(String[] args) {
String formattedString = String.format("Hello, %s!", "world");
System.out.println(formattedString);
}
}
Cuando ejecutes el código, deberías ver la siguiente salida:
Hello, world!
Usando argumentos en la cadena de formateo
En este paso, aprenderemos a usar argumentos en la cadena de formato para personalizar la salida.
- Abre el archivo
SimpleFormatExample.javaen un editor. - Modifica la variable
formattedStringpara usar un argumento para el número de caracteres a mostrar. Reemplaza la"s"en la cadena de formato con".%d-s"para especificar el número máximo de caracteres a mostrar. - Agrega un argumento entero después de la cadena de formato para representar el número máximo de caracteres a mostrar.
- Guarda y cierra el archivo
SimpleFormatExample.java. - En la terminal, compila el archivo
SimpleFormatExample.javaejecutando el siguiente comando:javac SimpleFormatExample.java. - Luego, ejecuta el archivo de clase utilizando el comando
java SimpleFormatExample.
Aquí está el código modificado:
public class SimpleFormatExample {
public static void main(String[] args) {
String formattedString = String.format("Hello, %d-s!", 5);
System.out.println(formattedString);
}
}
Cuando ejecutes el código, deberías ver la siguiente salida:
Hello, 5-s!
Usando banderas para modificar el comportamiento de formateo
En este paso, aprenderemos a usar banderas para modificar el comportamiento de la cadena de formateo.
- Abre el archivo
SimpleFormatExample.javaen un editor. - Modifica la cadena de formateo para alinear el texto a la izquierda agregando un signo menos (
-) después del signo%. - Agrega un argumento a la cadena de formateo para especificar el ancho mínimo de la salida.
- Guarda y cierra el archivo
SimpleFormatExample.java. - En la terminal, compila el archivo
SimpleFormatExample.javaejecutando el siguiente comando:javac SimpleFormatExample.java. - Luego, ejecuta el archivo de clase utilizando el comando
java SimpleFormatExample.
Aquí está el código modificado:
public class SimpleFormatExample {
public static void main(String[] args) {
String formattedString = String.format("%-10s, world!", "Hello");
System.out.println(formattedString);
}
}
Cuando ejecutes el código, deberías ver la siguiente salida:
Hello , world!
Usando caracteres de conversión para formatear diferentes tipos de datos
En este paso, aprenderemos a usar diferentes caracteres de conversión para formatear diferentes tipos de datos.
- Abre el archivo
SimpleFormatExample.javaen un editor. - Modifica la cadena de formateo para incluir un número de punto flotante usando el carácter de conversión
%f. - Agrega un argumento de número de punto flotante después de la cadena de formateo.
- Guarda y cierra el archivo
SimpleFormatExample.java. - En la terminal, compila el archivo
SimpleFormatExample.javaejecutando el siguiente comando:javac SimpleFormatExample.java. - Luego, ejecuta el archivo de clase usando el comando
java SimpleFormatExample.
Aquí está el código modificado:
public class SimpleFormatExample {
public static void main(String[] args) {
String formattedString = String.format("The value of pi is approximately %f", 3.14159265359);
System.out.println(formattedString);
}
}
Cuando ejecutes el código, deberías ver la siguiente salida:
The value of pi is approximately 3.141593
Usando modificadores de precisión para controlar el número de dígitos
En este paso, aprenderemos a usar modificadores de precisión para controlar el número de dígitos que se muestran en la salida formateada.
- Abre el archivo
SimpleFormatExample.javaen un editor. - Modifica la cadena de formateo para incluir un número de punto flotante usando el carácter de conversión
%f. Agrega un modificador de precisión (%.2f) para mostrar solo dos dígitos después del punto decimal. - Agrega un argumento de número de punto flotante después de la cadena de formateo.
- Guarda y cierra el archivo
SimpleFormatExample.java. - En la terminal, compila el archivo
SimpleFormatExample.javaejecutando el siguiente comando:javac SimpleFormatExample.java. - Luego, ejecuta el archivo de clase usando el comando
java SimpleFormatExample.
Aquí está el código modificado:
public class SimpleFormatExample {
public static void main(String[] args) {
String formattedString = String.format("The value of pi is approximately %.2f", 3.14159265359);
System.out.println(formattedString);
}
}
Cuando ejecutes el código, deberías ver la siguiente salida:
The value of pi is approximately 3.14
Usando locales para personalizar la configuración de formateo
En este paso, aprenderemos a usar locales para personalizar la configuración de formateo, como el idioma o la región.
- Abre el archivo
SimpleFormatExample.javaen un editor. - Modifica la cadena de formateo para incluir un número y usar el carácter de conversión
%d. - Agrega un argumento entero después de la cadena de formateo.
- Agrega un segundo argumento al método
String.format()para especificar el locale a usar. Utiliza la constanteLocale.FRENCHpara especificar el idioma francés. - Guarda y cierra el archivo
SimpleFormatExample.java. - En la terminal, compila el archivo
SimpleFormatExample.javaejecutando el siguiente comando:javac SimpleFormatExample.java. - Luego, ejecuta el archivo de clase usando el comando
java SimpleFormatExample.
Aquí está el código modificado:
import java.util.Locale;
public class SimpleFormatExample {
public static void main(String[] args) {
String formattedString = String.format(Locale.FRENCH, "Le nombre est %d", 123456789);
System.out.println(formattedString);
}
}
Cuando ejecutes el código, deberías ver la siguiente salida:
Le nombre est 123456789
Formateando valores de fecha y hora
En este paso, aprenderemos a usar el método String.format() para formatear valores de fecha y hora.
- Abre el archivo
SimpleFormatExample.javaen un editor. - Agrega una declaración de importación para la clase
java.util.Calendar, que usaremos para crear una instancia de calendario. - Crea una nueva instancia de
CalendarusandoCalendar.getInstance(). - Modifica la cadena de formateo para incluir una fecha usando el carácter de conversión
%tD. - Agrega un argumento de
Datedespués de la cadena de formateo, usando el métodocalendar.getTime()para obtener un valor deDate. - Guarda y cierra el archivo
SimpleFormatExample.java. - En la terminal, compila el archivo
SimpleFormatExample.javaejecutando el siguiente comando:javac SimpleFormatExample.java. - Luego, ejecuta el archivo de clase usando el comando
java SimpleFormatExample.
Aquí está el código modificado:
import java.util.Calendar;
import java.util.Date;
public class SimpleFormatExample {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
String formattedString = String.format("%tD", calendar.getTime());
System.out.println(formattedString);
}
}
Cuando ejecutes el código, deberías ver la siguiente salida:
08/22/21
Formateo utilizando mayúsculas y minúsculas
En este paso, aprenderemos a usar los caracteres de conversión %S y %s para formatear cadenas en mayúsculas y minúsculas, respectivamente.
- Abre el archivo
SimpleFormatExample.javaen un editor. - Modifica la cadena de formateo para incluir una cadena usando el carácter de conversión
%Spara formatear la cadena en mayúsculas. - Modifica la cadena de formateo para incluir una segunda cadena usando el carácter de conversión
%spara formatear la cadena en minúsculas. - Guarda y cierra el archivo
SimpleFormatExample.java. - En la terminal, compila el archivo
SimpleFormatExample.javaejecutando el siguiente comando:javac SimpleFormatExample.java. - Luego, ejecuta el archivo de clase usando el comando
java SimpleFormatExample.
Aquí está el código modificado:
public class SimpleFormatExample {
public static void main(String[] args) {
String formattedString = String.format("The word %S is in uppercase and %s is in lowercase", "HELLO", "world");
System.out.println(formattedString);
}
}
Cuando ejecutes el código, deberías ver la siguiente salida:
The word HELLO is in uppercase and world is in lowercase
Manejo de excepciones
En este paso, aprenderemos sobre las excepciones que pueden ser lanzadas al usar el método String.format(), y cómo manejarlas.
- Abre el archivo
SimpleFormatExample.javaen un editor. - Modifica la cadena de formateo para incluir un carácter usando el carácter de conversión
%c. - Agrega un argumento de carácter después de la cadena de formateo.
- Guarda y cierra el archivo
SimpleFormatExample.java. - En la terminal, compila el archivo
SimpleFormatExample.javaejecutando el siguiente comando:javac SimpleFormatExample.java. - Luego, ejecuta el archivo de clase usando el comando
java SimpleFormatExample.
Aquí está el código modificado:
public class SimpleFormatExample {
public static void main(String[] args) {
try {
String formattedString = String.format("The character is %c", "too long");
System.out.println(formattedString);
} catch (Exception e) {
System.out.println("An exception occurred: " + e.getMessage());
}
}
}
Cuando ejecutes el código, deberías ver la siguiente salida:
An exception occurred: UString.format: '%c'!= java.base/java.lang.String
Resumen
En este laboratorio, aprendimos a usar el método String.format() para formatear cadenas en Java. Comenzamos creando un ejemplo simple que usaba una cadena de formateo y argumentos para generar una cadena. Luego aprendimos a usar diferentes caracteres de conversión para formatear cadenas, así como modificadores de precisión y flags para controlar la salida. También aprendimos a usar locales para personalizar la configuración de formateo y cómo formatear valores de fecha y hora. Finalmente, discutimos algunas de las excepciones que pueden ser lanzadas al usar el método String.format() y cómo manejarlas.



