Menu
Coddy logo textTech

Введение в StringBuffer

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

StringBuffer похож на StringBuilder, но является потокобезопасным (безопасен для нескольких операций одновременно). Он используется для создания изменяемых (mutable) строк.

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

StringBuffer sb = new StringBuffer("Hello");

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

sb.append(" World");

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

Hello World

Изменяйте текст с помощью insert() и replace():

StringBuffer sb = new StringBuffer("Java");
sb.insert(0, "Hi ");       // добавляет в начало
sb.replace(0, 2, "Hey");   // заменяет "Hi" на "Hey"

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

Hey Java

challenge icon

Задание

Легко

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

  1. Строка (text) для изменения
  2. Строка (target) для поиска
  3. Строка (replacement) для замены target

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

  1. Создать StringBuffer с входным текстом
  2. Заменить первое вхождение target на replacement
  3. Добавить восклицательный знак в конце
  4. Вернуть итоговую строку

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

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

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

import java.util.Scanner;

public class Main {
    public static String modifyText(String text, String target, String replacement) {
        // Напишите свой код здесь
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String text = scanner.nextLine();
        String target = scanner.nextLine();
        String replacement = scanner.nextLine();
        
        if (text.equals("null")) text = null;
        if (target.equals("null")) target = null;
        if (replacement.equals("null")) replacement = null;
        
        System.out.println(modifyText(text, target, replacement));
    }
}
quiz iconПроверьте себя

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

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

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