Menu
Coddy logo textTech

Introduzione a StringBuffer

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

StringBuffer è simile a StringBuilder, ma è thread-safe (sicuro per più operazioni allo stesso tempo). Si usa per creare stringhe mutabili (modificabili).

Crea uno StringBuffer con il testo iniziale:

StringBuffer sb = new StringBuffer("Hello");

Aggiungi altro testo usando append():

sb.append(" World");

Dopo aver eseguito il codice qui sopra, sb contiene:

Hello World

Modifica il testo usando insert() e replace():

StringBuffer sb = new StringBuffer("Java");
sb.insert(0, "Hi ");       // aggiunge all'inizio
sb.replace(0, 2, "Hey");   // sostituisce "Hi" con "Hey"

Dopo aver eseguito il codice qui sopra, sb contiene:

Hey Java

challenge icon

Sfida

Facile

Crea un metodo denominato modifyText che accetta tre argomenti:

  1. Una String (text) da modificare
  2. Una String (target) da trovare
  3. Una String (replacement) con cui sostituire target

Il metodo dovrebbe:

  1. Creare uno StringBuffer con il testo di input
  2. Sostituire la prima occorrenza di target con replacement
  3. Aggiungere un punto esclamativo alla fine
  4. Restituire la stringa finale

I messaggi restituiti dovrebbero essere:

  • Se un input è null: restituire "Invalid input"
  • Se target non viene trovato: restituire il testo originale con un punto esclamativo
  • In caso di operazione riuscita: restituire il testo modificato

Provalo tu

import java.util.Scanner;

public class Main {
    public static String modifyText(String text, String target, String replacement) {
        // Scrivi il tuo codice qui
    }
    
    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 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