Menu
Coddy logo textTech

Introduction à StringBuffer

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

StringBuffer est similaire à StringBuilder mais est thread-safe (sûr pour plusieurs opérations simultanées). Il est utilisé pour créer des chaînes de caractères mutables (modifiables).

Créez un StringBuffer avec un texte initial :

StringBuffer sb = new StringBuffer("Hello");

Ajoutez plus de texte en utilisant append() :

sb.append(" World");

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

Hello World

Modifier le texte en utilisant insert() et replace() :

StringBuffer sb = new StringBuffer("Java");
sb.insert(0, "Hi ");       // ajoute au début
sb.replace(0, 2, "Hey");   // remplace "Hi" par "Hey"

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

Hey Java

challenge icon

Défi

Facile

Créez une méthode nommée modifyText qui prend trois arguments :

  1. Une chaîne de caractères (text) à modifier
  2. Une chaîne de caractères (target) à rechercher
  3. Une chaîne de caractères (replacement) par laquelle remplacer target

La méthode doit :

  1. Créer un StringBuffer avec le texte d'entrée
  2. Remplacer la première occurrence de target par replacement
  3. Ajouter un point d'exclamation à la fin
  4. Retourner la chaîne finale

Les messages de retour doivent être :

  • Si une entrée est null : retourner "Invalid input"
  • Si target n'est pas trouvé : retourner le texte original avec un point d'exclamation
  • Pour une opération réussie : retourner le texte modifié

Essayez vous-même

import java.util.Scanner;

public class Main {
    public static String modifyText(String text, String target, String replacement) {
        // Écrivez votre code ici
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String text = scanner.nextLine();
        String target = scanner.nextLine();
        String replacement = scanner.nextLine();
        
        if (text.equals("null")) text = null;
        if (target.equals("null")) target = null;
        if (replacement.equals("null")) replacement = null;
        
        System.out.println(modifyText(text, target, replacement));
    }
}
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