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 subprocesos (seguro para varias 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 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 acepte tres argumentos:

  1. Un String (text) que se modificará
  2. Un String (target) que se buscará
  3. Un String (replacement) con el que se reemplazará target

El método debe:

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

Los mensajes devueltos 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

Practica por tu cuenta: Compilador de Java online