Menu
Coddy logo textTech

Podstawy StringBuilder

Część sekcji Logika i przepływ sterowania ścieżki Java w Coddy. Lekcja 44 z 59.

StringBuilder służy do tworzenia mutowalnych (modyfikowalnych) ciągów znaków. Jest wydajniejszy niż zwykłe łączenie ciągów typu String, gdy musisz wielokrotnie je modyfikować.

Utwórz StringBuilder z tekstem początkowym:

StringBuilder sb = new StringBuilder("Hello");

Dodaj więcej tekstu za pomocą append():

sb.append(" World");

Po wykonaniu powyższego kodu sb zawiera:

Hello World

Użyjmy insert(), aby dodać tekst w określonym miejscu:

StringBuilder sb = new StringBuilder("Java");
sb.append(" is");      // dodaje na końcu
sb.insert(0, "Hey ");  // dodaje na pozycji 0 (początek)

Po wykonaniu powyższego kodu sb zawiera:

Hey Java is

Konwertowanie StringBuilder na String:
Gdy chcesz zwrócić lub zapisać wynik jako String, użyj toString():

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

String result = sb.toString();  // Konwertuje na String
System.out.println(result);     // Wypisuje: Hello World

Dlaczego używać toString()? Metody zwracające typ String nie mogą zwracać bezpośrednio obiektu StringBuilder — najpierw musisz go przekonwertować za pomocą toString().

challenge icon

Wyzwanie

Łatwy

Utwórz metodę o nazwie buildPhrase, która przyjmuje trzy argumenty:

  1. String (start) określający początek frazy
  2. String (middle) określający środkową część
  3. String (end) określający zakończenie

Metoda powinna:

  1. Utworzyć StringBuilder z ciągiem start
  2. Dodać spację i ciąg middle
  3. Dodać spację i ciąg end
  4. Dodać wykrzyknik na końcu
  5. Zwrócić końcowy ciąg

Zwracane komunikaty powinny być następujące:

  • Jeśli którekolwiek wejście ma wartość null: zwrócić "Invalid input"
  • W przypadku powodzenia: zwrócić utworzoną frazę

Spróbuj swoich sił

import java.util.Scanner;

public class Main {
    public static String buildPhrase(String start, String middle, String end) {
        // Wpisz tutaj swój kod
    }
    
    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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ sterowania

Poćwicz samodzielnie: Kompilator Java online