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 WorldPerché usare toString()? I metodi che restituiscono un valore di tipo String non possono restituire direttamente un StringBuilder: devi prima convertirlo usando toString().
Sfida
FacileCrea un metodo chiamato buildPhrase che accetta tre argomenti:
- Una String (
start) per l'inizio della frase - Una String (
middle) per la parte centrale - Una String (
end) per la parte finale
Il metodo dovrebbe:
- Creare uno StringBuilder con la stringa iniziale
- Aggiungere uno spazio e la stringa centrale
- Aggiungere uno spazio e la stringa finale
- Aggiungere un punto esclamativo alla fine
- 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));
}
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Array multidimensionali
Concetti di base degli array 2DAccesso agli elementi degli array 2DCicli annidati con array 2DRiepilogo - Array 2DAddizione e sottrazione di matriciArray irregolariArray 3D e oltreSchemi comuni degli array 2DRiepilogo - Tutto sugli array4HashSet Parte 1
Che cos'è un HashSet?Aggiungere un elementoRimuovere un elementoVerificare se un elemento esisteVuoto e dimensioneSvuotare e clonareRipasso - HashSet7Gestione di base degli errori
Nozioni di base su try-catchBlocco finallyLancio di eccezioniEccezioni personalizzate2HashMap Parte 1
Che cos'è una HashMap?Dichiarare una HashMapAccedere ai valoriVerificare se una chiave esisteModificare i dizionariRiepilogo - HashMap5HashSet Parte 2
Matematica - Unione di HashSetMatematica - Intersezione di HashSetMatematica - Differenza tra insiemiMatematica - Differenza simmetricaSottoinsiemi e sovrainsiemiIterare sugli insiemi8Operazioni avanzate sulle stringhe
Fondamenti di StringBuilderIntroduzione a StringBufferFondamenti delle espressioni regolariCorrispondenza di pattern con le regexTokenizer di stringheFormattazione avanzata delle stringhe3HashMap Parte 2
Metodi di HashMapIterare con keySet()Iterare con entrySet()HashMap annidateRiepilogo - Gestire il magazzinoRiepilogo - Operazioni con HashMap6Flusso di controllo avanzato
Istruzioni con etichettaEspressione switchCorrispondenza dei patternClausole guardiaRiepilogo - Flusso di controllo9Progetto - Contatore di parole uniche
Inserimento e memorizzazione del testoElaborazione delle paroleEsercitati da solo: Compilatore Java online