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
Défi
FacileCréez une méthode nommée formatData qui prend quatre arguments :
- Une String (
name) pour le nom du produit - Un double (
price) pour le prix du produit - Un entier (
quantity) pour la quantité - 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() :
%spour les chaînes%dpour les entiers%.2fpour 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));
}
}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
1Tableaux multidimensionnels
Bases des tableaux 2DAccès aux éléments des tableaux 2DBoucles imbriquées avec les tableaux 2DRécapitulatif - Tableaux 2DAddition et soustraction de matricesTableaux irréguliersTableaux 3D et au-delàMotifs courants des tableaux 2DRécapitulatif - Tout sur les tableaux4HashSet Partie 1
Qu'est-ce qu'un HashSet ?Ajouter un ÉlémentSupprimer un ÉlémentVérifier si un Élément ExisteVide et TailleVider et ClonerRécapitulatif - HashSet7Gestion des erreurs de base
Bases du try-catchBloc finallyLever des exceptionsExceptions personnalisées2HashMap Partie 1
Qu'est-ce qu'une HashMap ?Déclarer une HashMapAccéder aux ValeursVérifier si une Clé ExisteModifier les DictionnairesRécapitulatif - HashMap5HashSet Partie 2
Math - Union des HashSetsMath - Intersection des HashSetsMath - Différence d'ensemblesMath - Différence symétriqueSous-ensembles et super-ensemblesItération sur les ensembles8Opérations avancées sur les chaînes
Bases de StringBuilderIntroduction à StringBufferBases des expressions régulièresAppariement de motifs avec RegexTokenizer de chaînesFormatage avancé des chaînes3HashMap Partie 2
Méthodes HashMapItérer avec keySet()Itérer avec entrySet()HashMap imbriquéRécapitulatif - Gérer l'entrepôtRécapitulatif - Opérations HashMap6Flux de contrôle avancé
Instructions étiquetéesExpression switchAppariement de motifsClauses de gardeRécapitulatif - Flux de contrôle9Projet - Compteur de Mots Uniques
Entrée de Texte et StockageTraitement des Mots