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 des chaînes en Java vous permet de créer des chaînes formatées à l’aide de spécificateurs de format. Les plus courants sont %s pour les chaînes, %d pour les entiers et %.2f pour les nombres décimaux.

Formatez 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

Formatez 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. Un String (name) pour le nom d’un produit
  2. Un double (price) pour le prix du produit
  3. Un entier (quantity) pour la quantité
  4. Un String (format) pour le type de format de sortie

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

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

Message renvoyé :

  • Si une entrée est nulle ou si le format n’est pas valide : renvoyer "Invalid input"

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

Entraînez-vous par vous-même : Compilateur Java en ligne