Поработаем со StringBuilder

  • 10
  • Недоступна
Нужно реализовать 2 метода, используя StringBuilder: addTo(String, String[]), replace(String, String, int, int). 1. Метод addTo(String, String[]) добавляет к строке, полученной первым параметром, все строки по порядку из массива строк, полученного вторым параметром, и возвращает объект типа StringBu
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (78)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
kefir
Уровень 11
позавчера, 08:23
Задача легче, чем кажется. Не нужно мудрить. (и не нужно приводить к строке)
Tony P
Уровень 11
29 ноября, 15:20
11207 учеников. Тем временем Кирилл обходит меня на повороте!
Kiril
Уровень 12
позавчера, 12:35
надеюсь не зацепил?)
Tony P
Уровень 11
позавчера, 12:44
если только самолюбие) поглядывай в зеркало!))
Kiril
Уровень 12
позавчера, 13:44
побачім, побачім)
Kiril
Уровень 12
28 ноября, 13:26
Плиз, объясните
public static void main(String[] args) {
        String string = "Учиться, учиться и еще раз учиться! ";

        System.out.println(addTo(string, new String[]{"Под ", "лежачий ", "камень ", "вода ", "не ", "течет"}));
        System.out.println(replace(string, ", ", 16, 27));
    }

    public static StringBuilder addTo(String string, String[] strings) {
        StringBuilder build = new StringBuilder(string);
        for(int i = 0; i < strings.length; i++){
            build.append(strings[i]);
        }
        return build;
    }

    public static StringBuilder replace(String string, String str, int start, int end) {
        StringBuilder build = new StringBuilder(string);
        build.replace(start, end, str);
        return build;
    }
В условии написано: Метод replace(String, String, int, int) заменяет часть строки, полученной первым параметром, ..., на строку, полученную вторым параметром... Вторая строка: ", ". Тогда как в ответе получилось: "Учиться, учиться, учиться!"
Tony P
Уровень 11
29 ноября, 15:22
а в чем вопрос? String string = "Учиться, учиться и еще раз учиться! "; подчеркнутая часть - интервал с 16 до 27 символа, который заменяется на ", " и получается "Учиться, учиться, учиться!"
Kiril
Уровень 12
позавчера, 12:32
тю, точняк. Сейчас ясно, а вчера как будто бухой смотрел на все это) Оно то и ясно, под конец дня за компом не разберешь, ты пил или кодил?
Anonymous #3179849
Уровень 13
7 ноября, 17:04
Эту задачу впервые за долгое время я написал сразу и она сразу прошла валидацию. Но полного понимания у меня пока нет(
1 октября, 13:37
Подскажите пожалуйста почему не нужно переводить из StringBuilder обратно в String в этой задаче. Когда как в следующей задаче выдает ошибку "Невозможно привести объект типа "java.lang.StringBuilder" к типу "java.lang.String". Не понимаю в чем различие?
Anonymous #3183325
Уровень 16
31 октября, 20:25
Потому что тип возвращаемого значения в методе из первой задачи - StringBuilder (значит можно вернуть и так), а из второй задачи - String (значит сначала нужно перевести в String с помощью toString())
Artem
Уровень 21
14 сентября, 15:39
Внимание, задача не тяжелая, если как я не тупить и не пытаться накрутить сложность. Я думал там нужно поменять весь текст на тот, который про камень. Пытался сделать, но валидатор не пропускал, пока я не сделал "тупо" и не нажал на проверку.... ЖАЛЬ, что глаз уже замылился
Андрей
Уровень 21
12 сентября, 09:49
не первый раз, точнее уже на постоянной основе, не врубаюсь в задание. вообще не понятно что к чему. думал, что я тупой, но тут скорее в дело том, как сформулировано. судя из коментов не одному мне туго заходит. только по правильному решению могу прочесть/установить что хотели.
yfrave
Уровень 15
25 октября, 04:41
аналогично...
29 августа, 20:09
import javafx.beans.binding.StringBinding; import java.util.Arrays; 2 лишних подключения, только при их удалении приняло задачу.
Ясин Адли
Уровень 17
24 августа, 06:49
хороший рейтинг у тех задач, которые легче решаются или "хотя бы" решаются?!
30 июня, 17:13
Первую часть задания попробовал решить c помощью метода Arrays.toString() , но компилятор не принял ☹️
BlackGrizzli Team
Уровень 30
14 сентября, 16:53
Ну тут как бы уже правило, если хочешь что-то вытащить из массива, пройдись по нему циклом. Если вам надо только вытащить используйте for each!!! И с каждым витком цикла использовать метод appned()
BlackGrizzli Team
Уровень 30
14 сентября, 17:07
А вы так что ли делали ?
String str =Arrays.toString(strings);
        builder.append(str);
        return builder;
Там вывод получается следующий :
Учиться, учиться и еще раз учиться! [Под , лежачий , камень , вода , не , течет]
BlackGrizzli Team
Уровень 30
14 сентября, 17:08
Тут я вижу пока два решения: 1) через join:
String str = String.join(" ",strings);
        builder.append(str);
        return builder;
2) Через цикл:
for(String x : strings){
            builder.append(x);
        }
        return builder;
    }