Menu
Coddy logo textTech

Formatage avancé des chaînes

Fait partie de la section Logique & Flux du Journey Java de Coddy — leçon 49 sur 59.

Le formatage de chaînes en Java vous permet de créer des chaînes formatées en utilisant des spécificateurs de format. Les plus courants sont %s pour les chaînes, %d pour les entiers, et %.2f pour les décimales.

Formater une chaîne avec plusieurs valeurs :

String name = "John";
int age = 25;
String text = String.format("Name: %s, Age: %d", name, age);

Après l'exécution du code ci-dessus, text contient :

Name: John, Age: 25

Formater les nombres décimaux avec précision :

double price = 19.99;
String formatted = String.format("Price: $%.2f", price);

Après l'exécution du code ci-dessus, formatted contient :

Price: $19.99

challenge icon

Défi

Facile

Créez une méthode nommée formatData qui prend quatre arguments :

  1. Une String (name) pour le nom du produit
  2. Un double (price) pour le prix du produit
  3. Un entier (quantity) pour la quantité
  4. Une String (format) pour le type de format de sortie

La méthode doit formater les données en fonction de ces types :

  • "basic": return "ITEM: {name}, PRICE: ${price}"
  • "detailed": return "PRODUCT: {name}\nPRICE: ${price}\nQUANTITY: {quantity}"
  • "total": return "TOTAL FOR {quantity}x {name}: ${total}" (total = price * quantity) Tous les prix doivent être formatés avec exactement 2 décimales.

Message de retour :

  • Si une entrée est null ou format invalide : return "Invalid input"

Aide-mémoire

Le formatage de chaînes en Java utilise des spécificateurs de format avec String.format() :

  • %s pour les chaînes
  • %d pour les entiers
  • %.2f pour les décimales avec 2 décimales

Formater des chaînes avec plusieurs valeurs :

String name = "John";
int age = 25;
String text = String.format("Name: %s, Age: %d", name, age);
// Result: "Name: John, Age: 25"

Formater les nombres décimaux avec précision :

double price = 19.99;
String formatted = String.format("Price: $%.2f", price);
// Result: "Price: $19.99"

Essayez vous-même

import java.util.Scanner;

public class Main {
    public static String formatData(String name, double price, int quantity, String format) {
        // Écrivez votre code ici
    }
    
    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));
    }
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux