Menu
Coddy logo textTech

Conceptos Básicos de StringBuilder

Parte de la sección Lógica y Flujo del Journey de Java de Coddy. Lección 44 de 59.

StringBuilder se utiliza para crear cadenas mutables (modificables). Es más eficiente que la concatenación habitual de String cuando necesitas modificar cadenas varias veces.

Crea un StringBuilder con texto inicial:

StringBuilder sb = new StringBuilder("Hello");

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

sb.append(" World");

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

Hello World

Usemos insert() para añadir texto en una posición específica:

StringBuilder sb = new StringBuilder("Java");
sb.append(" is");      // añade al final
sb.insert(0, "Hey ");  // añade en la posición 0 (inicio)

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

Hey Java is

Convertir StringBuilder en String:
Cuando necesites devolver o almacenar el resultado como un String, usa toString():

StringBuilder sb = new StringBuilder("Hello");
sb.append(" World");

String result = sb.toString();  // Convierte a String
System.out.println(result);     // Imprime: Hello World

¿Por qué usar toString()? Los métodos que devuelven el tipo String no pueden devolver directamente un StringBuilder; primero debes convertirlo usando toString().

challenge icon

Desafío

Fácil

Crea un método llamado buildPhrase que acepte tres argumentos:

  1. Un String (start) para el comienzo de la frase
  2. Un String (middle) para la parte central
  3. Un String (end) para el final

El método debe:

  1. Crear un StringBuilder con la cadena inicial
  2. Añadir un espacio y la cadena central
  3. Añadir un espacio y la cadena final
  4. Añadir un signo de exclamación al final
  5. Devolver la cadena final

Los mensajes devueltos deben ser:

  • Si alguna entrada es null: devolver "Invalid input"
  • En caso de operación exitosa: devolver la frase creada

Pruébalo tú mismo

import java.util.Scanner;

public class Main {
    public static String buildPhrase(String start, String middle, String end) {
        // Escribe tu código aquí
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String start = scanner.nextLine();
        String middle = scanner.nextLine();
        String end = scanner.nextLine();
        
        if (start.equals("null")) start = null;
        if (middle.equals("null")) middle = null;
        if (end.equals("null")) end = null;
        
        System.out.println(buildPhrase(start, middle, end));
    }
}
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