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ément). Il est utilisé pour créer des chaînes 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 String (text) à modifier
  2. Une String (target) à trouver
  3. Une String (replacement) pour remplacer target par

La méthode devrait :

  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 devraient être :

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

Aide-mémoire

StringBuffer est thread-safe et utilisé pour créer des chaînes mutables.

Créez un StringBuffer avec du texte initial :

StringBuffer sb = new StringBuffer("Hello");

Ajoutez du texte en utilisant append() :

sb.append(" World");

Insérez du texte à une position spécifique :

sb.insert(0, "Hi ");  // ajoute au début

Remplacez du texte en utilisant replace() :

sb.replace(0, 2, "Hey");  // remplace les caractères de l'index 0 à 2

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