Основы 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().
Задание
ЛегкоСоздайте метод с именем buildPhrase, который принимает три аргумента:
- Строка (
start) для начала фразы - Строка (
middle) для средней части - Строка (
end) для окончания
Метод должен:
- Создать StringBuilder со строкой start
- Добавить пробел и строку middle
- Добавить пробел и строку end
- Добавить восклицательный знак в конец
- Вернуть итоговую строку
Возвращаемые значения должны быть:
- Если любой входной параметр равен 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));
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Многомерные массивы
Основы 2D-массивовДоступ к элементам 2D-массиваВложенные циклы с 2D-массивамиПовторение - 2D-массивыСложение и вычитание матрицРваные массивы3D-массивы и вышеРаспространённые паттерны 2D-массивовПовторение - всё о массивах2HashMap Часть 1
Что такое HashMap?Объявление HashMapДоступ к значениямПроверка существования ключаИзменение словарейИтоги - HashMap5HashSet Часть 2
Математика - Объединение HashSetsМатематика - Пересечение HashSetМатематика - Разность множествМатематика - Симметрическая разностьПодмножества и надмножестваИтерация по множествам8Продвинутые операции со строками
Основы StringBuilderВведение в StringBufferОсновы регулярных выраженийСопоставление шаблонов с RegexСтроковый токенизаторПродвинутое форматирование строк3HashMap. Часть 2
Методы HashMapИтерация с keySet()Итерация с entrySet()Вложенный HashMapПовторение - Управление складомПовторение - Операции HashMap6Продвинутое управление потоком
Операторы метокВыражение switchСопоставление шаблоновОхранные клаузыИтоги - управление потоком9Проект - Счетчик уникальных слов
Ввод и хранение текстаОбработка словПотренируйтесь самостоятельно: Онлайн-компилятор Java