Formato Avanzado de Cadenas
Parte de la sección Lógica y Flujo del Journey de Java de Coddy. Lección 49 de 59.
El formato de String en Java te permite crear cadenas con formato utilizando especificadores de formato. Los más comunes son %s para cadenas, %d para enteros y %.2f para decimales.
Formatea una cadena con varios valores:
String name = "John";
int age = 25;
String text = String.format("Name: %s, Age: %d", name, age);Después de ejecutar el código anterior, text contiene:
Name: John, Age: 25
Formatea números decimales con precisión:
double price = 19.99;
String formatted = String.format("Price: $%.2f", price);Después de ejecutar el código anterior, formatted contiene:
Price: $19.99
Desafío
FácilCrea un método llamado formatData que acepte cuatro argumentos:
- Un String (
name) para el nombre de un producto - Un double (
price) para el precio del producto - Un entero (
quantity) para la cantidad - Un String (
format) para el tipo de formato de salida
El método debe formatear los datos según estos tipos:
- "basic": devuelve "ITEM: {name}, PRICE: ${price}"
- "detailed": devuelve "PRODUCT: {name}\nPRICE: ${price}\nQUANTITY: {quantity}"
- "total": devuelve "TOTAL FOR {quantity}x {name}: ${total}" (total = price * quantity) Todos los precios deben formatearse con exactamente 2 decimales.
Mensaje de retorno:
- Si alguna entrada es nula o el formato no es válido: devuelve "Invalid input"
Pruébalo tú mismo
import java.util.Scanner;
public class Main {
public static String formatData(String name, double price, int quantity, String format) {
// Escribe tu código aquí
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
double price = Double.parseDouble(scanner.nextLine());
int quantity = Integer.parseInt(scanner.nextLine());
String format = scanner.nextLine();
if (name.equals("null")) name = null;
if (format.equals("null")) format = null;
System.out.println(formatData(name, price, quantity, format));
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y Flujo
1Arreglos Multidimensionales
Básicos de Arreglos 2DAccediendo a Elementos de Arreglos 2DBucles Anidados con Arreglos 2DResumen - Arreglos 2DSuma y Resta de MatricesArreglos IrregularesArreglos 3D y Más AlláPatrones Comunes de Arreglos 2DResumen - Todo Sobre Arreglos4HashSet Parte 1
¿Qué es un HashSet?Agregando un elementoEliminando un elementoComprobando si existe un elementoVacío y tamañoLimpiar y clonarResumen - HashSet7Manejo Básico de Errores
Básicos de Try-CatchBloque FinallyLanzamiento de ExcepcionesExcepciones Personalizadas2HashMap Parte 1
¿Qué es un HashMap?Declarar un HashMapAcceder a ValoresVerificar si una Clave ExisteModificar DiccionariosResumen - HashMap5HashSet Parte 2
Matemáticas - Unión de HashSetsMatemáticas - Intersección de HashSetMatemáticas - Diferencia de ConjuntosMatemáticas - Diferencia SimétricaSubconjuntos y SuperconjuntosIterando Sobre Conjuntos8Operaciones Avanzadas con Cadenas
Conceptos Básicos de StringBuilderIntroducción a StringBufferConceptos Básicos de Expresiones RegularesCoincidencia de Patrones con RegexTokenizador de CadenasFormato Avanzado de Cadenas3HashMap Parte 2
Métodos de HashMapIterar con keySet()Iterar con entrySet()HashMap AnidadoResumen - Gestionar AlmacénResumen - Operaciones de HashMap6Flujo de Control Avanzado
Sentencias EtiquetadasExpresión SwitchCoincidencia de PatronesCláusulas de GuardiaResumen - Flujo de Control9Proyecto - Contador de Palabras Únicas
Entrada y Almacenamiento de TextoProcesamiento de PalabrasPractica por tu cuenta: Compilador de Java online