Menu
Coddy logo textTech

Fondamenti di StringBuilder

Fa parte della sezione Logica e flusso del percorso Java di Coddy. Lezione 44 di 59.

StringBuilder viene usato per creare stringhe mutabili (modificabili). È più efficiente della normale concatenazione di stringhe quando devi modificare le stringhe più volte.

Crea uno StringBuilder con il testo iniziale:

StringBuilder sb = new StringBuilder("Hello");

Aggiungi altro testo usando append():

sb.append(" World");

Dopo aver eseguito il codice qui sopra, sb contiene:

Hello World

Usiamo insert() per aggiungere testo in una posizione specifica:

StringBuilder sb = new StringBuilder("Java");
sb.append(" is");      // aggiunge alla fine
sb.insert(0, "Hey ");  // aggiunge alla posizione 0 (inizio)

Dopo aver eseguito il codice qui sopra, sb contiene:

Hey Java is

Convertire StringBuilder in una stringa:
Quando devi restituire o memorizzare il risultato come stringa, usa toString():

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

String result = sb.toString();  // Converte in String
System.out.println(result);     // Stampa: Hello World

Perché usare toString()? I metodi che restituiscono un valore di tipo String non possono restituire direttamente un StringBuilder: devi prima convertirlo usando toString().

challenge icon

Sfida

Facile

Crea un metodo chiamato buildPhrase che accetta tre argomenti:

  1. Una String (start) per l'inizio della frase
  2. Una String (middle) per la parte centrale
  3. Una String (end) per la parte finale

Il metodo dovrebbe:

  1. Creare uno StringBuilder con la stringa iniziale
  2. Aggiungere uno spazio e la stringa centrale
  3. Aggiungere uno spazio e la stringa finale
  4. Aggiungere un punto esclamativo alla fine
  5. Restituire la stringa finale

I messaggi restituiti dovrebbero essere:

  • Se un input è null: restituire "Invalid input"
  • In caso di esecuzione riuscita: restituire la frase costruita

Provalo tu

import java.util.Scanner;

public class Main {
    public static String buildPhrase(String start, String middle, String end) {
        // Scrivi qui il tuo codice
    }
    
    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 iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Java online