StringBuilder (изменяемые строки)

Тренажер по Java для пользователей с начальным уровнем подготовки.

Тренажер по Java

StringBuilder — это класс для работы с изменяемыми строками в Java. В отличие от обычного String, который нельзя изменить после создания, StringBuilder позволяет добавлять, удалять и менять символы без создания новых объектов.

  • append() — добавить в конец
  • insert() — вставить в позицию
  • delete() — удалить часть
  • reverse() — перевернуть строку
  • toString() — получить обычный String

Использование StringBuilder особенно важно при частой конкатенации строк в циклах — это работает намного быстрее, чем склеивание через +. В заданиях ты освоишь основные методы и поймёшь, когда стоит использовать изменяемые строки.

Список тем

1. Создание StringBuilder

id: 40466_sb_01_replace

В этом задании вам предстоит восстановить фрагмент кода на Java, который создаёт объект для работы с изменяемыми строками (StringBuilder) и добавляет к нему текст с помощью метода append. Обратите внимание на то, как объявляется переменная и вызывается метод. В результате программа должна вывести строку 'Hello World'. Заполните пропуски корректными именами класса и метода, чтобы код успешно скомпилировался и выполнился.

Заполните пропуски
StringBuilder sb = new input1S();
sb.input2S("Hello");
sb.append(" ");
sb.append("World");
System.out.println(sb.toString());
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

2. Найди ошибку в методе

id: 40466_sb_02_error

В данном фрагменте Java-кода, использующем StringBuilder, допущена одна ошибка в названии метода. Найдите строку с ошибкой и исправьте её, чтобы код успешно компилировался и выполнял свою задачу — изменял строку на обратную и выводил результат.

Найдите ошибку и исправьте
public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder("hello");
        sb.revers();
        System.out.println(sb);
    }
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

3. Собери цепочку методов

id: 40466_sb_03_build

Из предложенных строк соберите корректную Java-программу, которая создаёт объект StringBuilder, добавляет к нему строки "Hello, " и "world!", преобразует результат в строку и выводит её в консоль. Одна из строк лишняя и не должна входить в решение. Учтите, что порядок добавления строк фиксирован для получения корректного результата.

Перетяните в правильном порядке строки из одного блока в другой
public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        sb.append("Hello, ");
        sb.append("world!");
        String result = sb.toString();
        System.out.println(result);
        sb.reverse();
    }
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

4. Методы StringBuilder

id: 40466_sb_05_compare

Сопоставьте методы класса StringBuilder с их описаниями. В левой колонке приведены описания действий, которые выполняют методы, а в правой — названия этих методов. Обратите внимание, что в правой колонке методы перечислены в произвольном порядке. Для каждого описания выберите соответствующий метод из правой колонки. Убедитесь, что все пары установлены правильно.

Сопоставьте строки в правой(нижней) части с соответствующими строками в левой(верхней) по порядковому номеру
Добавляет указанную строку (или другой тип данных) в конец текущей последовательности.
Вставляет указанную строку в текущую последовательность по заданному индексу.
Удаляет символы в подпоследовательности от start до end-1.
Заменяет текущую последовательность символов на обратную (инвертирует порядок).
Возвращает текущую длину последовательности символов.
delete
reverse
insert
append
length
Сообщения
Проверить
Показать подсказку

5. Выбери нужный метод

id: 40466_sb_06_select

В данном задании представлен фрагмент кода на Java, использующий класс StringBuilder для работы с изменяемыми строками. В коде пропущены названия методов, которые необходимо выбрать из выпадающего списка, чтобы выполнить действия, указанные в комментариях. Выберите правильные методы для каждого пропуска, учитывая их назначение: добавление, вставка, удаление или преобразование в строку. Варианты можно использовать многократно, но для каждого пропуска должен быть выбран наиболее подходящий метод.

Нужно правильно расставить в пропуски предложенные варианты
StringBuilder sb = new StringBuilder("Hello");
sb.input1S(" World"); // добавить " World" к строке
sb.input2S(5, ',');   // вставить запятую на позицию 5
sb.input3S(1, 3);     // удалить символы с индекса 1 по 3 (не включая 3)
System.out.println(sb.input4S()); // вывести итоговую строку
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

6. Порядок операций

id: 40466_sb_07_sequence

Перед вами перемешанные строки кода, демонстрирующие базовую работу с классом StringBuilder в Java. Ваша задача — восстановить правильную последовательность этих строк, чтобы получился корректный фрагмент программы. Программа должна создать объект StringBuilder, добавить к нему две строковые части, преобразовать результат в неизменяемую строку (String) и вывести её на экран. Обратите внимание на логический порядок: объект нужно создать до того, как с ним можно будет работать, а вывод результата возможен только после его формирования.

Расставьте строки в правильном порядке
String result = sb.toString();
sb.append("Hello");
StringBuilder sb = new StringBuilder();
System.out.println(result);
sb.append(" World");
Сообщения
Проверить
Показать подсказку

7. Результат insert

id: 40466_sb_08_give

Проанализируйте приведённый фрагмент кода на Java, в котором используется класс StringBuilder и его метод insert(). Определите, какая строка будет выведена на экран после выполнения программы. Введите полученную строку в поле ответа, соблюдая точный формат, включая все пробелы и знаки препинания.

Что должно получиться?
public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder("Start and end.");
        sb.insert(10, "middle ");
        System.out.println(sb.toString());
    }
}
Сообщения
Проверить
Показать подсказку

8. Что выведет этот код?

id: 40466_sb_09_predict_chain

В этом задании вам нужно проанализировать фрагмент кода на Java, использующий класс StringBuilder. Код создает объект StringBuilder, затем вызывает цепочку методов: append для добавления строк 'Java' и 'Script', а затем reverse для переворота строки. Ваша задача — определить, какая строка будет выведена в консоль после выполнения этого кода. Выберите правильный вариант из предложенных. Учтите, что методы вызываются последовательно, и каждый изменяет состояние объекта.

Выберите правильный вариант ответа
public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        sb.append("Java").append("Script").reverse();
        System.out.println(sb.toString());
    }
}
Сообщения
Проверить
Показать подсказку
НайтиКурс.Ру