Menu
Coddy logo textTech

Introducción a StringBuffer

Parte de la sección Lógica y Flujo del Journey de Java de Coddy — lección 45 de 59.

StringBuffer es similar a StringBuilder pero es seguro para hilos (thread-safe) (seguro para múltiples operaciones al mismo tiempo). Se utiliza para crear cadenas mutables (modificables).

Crea un StringBuffer con texto inicial:

StringBuffer sb = new StringBuffer("Hello");

Añade más texto usando append():

sb.append(" World");

Después de ejecutar el código anterior, sb contiene:

Hello World

Modifica el texto usando insert() y replace():

StringBuffer sb = new StringBuffer("Java");
sb.insert(0, "Hi ");       // añade al principio
sb.replace(0, 2, "Hey");   // reemplaza "Hi" con "Hey"

Después de ejecutar el código anterior, sb contiene:

Hey Java

challenge icon

Desafío

Fácil

Crea un método llamado modifyText que reciba tres argumentos:

  1. Un String (text) a modificar
  2. Un String (target) a buscar
  3. Un String (replacement) con el cual reemplazar target

El método debe:

  1. Crear un StringBuffer con el texto de entrada
  2. Reemplazar la primera aparición de target con replacement
  3. Añadir un signo de exclamación al final
  4. Devolver la cadena final

Los mensajes de retorno deben ser:

  • Si alguna entrada es null: devolver "Invalid input"
  • Si no se encuentra target: devolver el texto original con un signo de exclamación
  • Para una operación exitosa: devolver el texto modificado

Pruébalo tú mismo

import java.util.Scanner;

public class Main {
    public static String modifyText(String text, String target, String replacement) {
        // Escribe tu código aquí
    }
    
    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 iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo