Menu
Coddy logo textTech

Основы StringBuilder

Часть раздела Логика и управление потоком путешествия по Java на Coddy. Урок 44 из 59.

StringBuilder используется для создания изменяемых (модифицируемых) строк. Он более эффективен, чем обычная конкатенация строк String, когда требуется модифицировать строки несколько раз.

Создайте StringBuilder с начальным текстом:

StringBuilder sb = new StringBuilder("Hello");

Добавьте больше текста с помощью append():

sb.append(" World");

После выполнения приведенного выше кода sb содержит:

Hello World

Давайте используем insert() для добавления текста в определённую позицию:

StringBuilder sb = new StringBuilder("Java");
sb.append(" is");      // adds at end
sb.insert(0, "Hey ");  // adds at position 0 (start)

После выполнения приведенного выше кода, sb содержит:

Hey Java is

Преобразование StringBuilder в String:
Когда вам нужно вернуть или сохранить результат как String, используйте toString():

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

String result = sb.toString();  // Converts to String
System.out.println(result);     // Prints: Hello World

Почему использовать toString()? Методы, возвращающие тип String, не могут возвращать StringBuilder напрямую — сначала нужно преобразовать его с помощью toString().

challenge icon

Задание

Легко

Создайте метод с именем buildPhrase, который принимает три аргумента:

  1. Строка (start) для начала фразы
  2. Строка (middle) для средней части
  3. Строка (end) для окончания

Метод должен:

  1. Создать StringBuilder со строкой start
  2. Добавить пробел и строку middle
  3. Добавить пробел и строку end
  4. Добавить восклицательный знак в конец
  5. Вернуть итоговую строку

Возвращаемые значения должны быть:

  • Если любой входной параметр равен null: вернуть "Invalid input"
  • При успешной операции: вернуть построенную фразу

Попробуйте сами

import java.util.Scanner;

public class Main {
    public static String buildPhrase(String start, String middle, String end) {
        // Напишите свой код здесь
    }
    
    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 iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком

Потренируйтесь самостоятельно: Онлайн-компилятор Java