Длинные слова

  • 10
  • Недоступна
В метод main первым параметром приходит имя файла1, вторым — файла2. Файл1 содержит слова, разделенные пробелом. Записать через запятую в Файл2 слова, длина которых строго больше 6. В конце файла2 запятой не должно быть. Закрыть потоки.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (162)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Константин20 уровень, Москва
пятница, 20:26
Долго воевал с валидатором. В общем, если файл1:
1 2 666666 7777777 8888888
7777777 333 999999999
В файле2 должна быть одна строка:
7777777,88888888,7777777,999999999
skybright29 уровень
2 июня, 20:50
Важно! Вывод должен быть не в цикле чтения. В итоге я прочитал весь файл в такую конструкцию
ArrayList<String[]> arrStrings = new ArrayList<>();
И да, со StringBuilder решить проще.
Евгений20 уровень, Днепр
26 мая, 18:25
Прочитав «содержит слова, разделенные пробелом», написал
scanner.useDelimiter(" ");
Получив отлуп от валидатора, удалил предыдущую строку, все пршло. Зачем писать условие, не соответствующее действительности?
MrKermit20 уровень, Москва
28 апреля, 11:45
Зная, что не все так просто в плане условия, заходим в комменты, узнаем что строк несколько и в условии как всегла нае**ли (Файл1 содержит слова, разделенные пробелом.), а мы знаем что перевод на новую строку это не пробел... Возвращаемся, решаем с 1 попытки) Чему учит такая постановка задачи?
Oleg Fedoruk35 уровень
24 марта, 20:39
это просто отнимает время) прошёл через стрингбилдер не прошёл через коллекцию и 2 цикла результат записи одинаковый и по тексту и по байтам ¯\(°_o)/¯
Alexey Tarakanov35 уровень, Москва
22 марта, 00:45
xD это бомба. Сначало не понял, что возможно много строк и в конце строк не нужна запятая, но сделал как умею. В итоге валя прямо сказала что хочет)) Update: Чтобы не вводить в заблуждение. В итоге решил, в задании все написано четко - все значения через запятую, в конце запятой не должно быть. Если строк на ввод несколько - на вывод в любом случае слова через запятую без запятой на конце. Попробуйте несколько тестов, особенно помогли для моей проблемы когда в совпадении только 1 слово/нет совпадений вообще (запятая может появится когда не нужна) и когда идет совпадение из нескольких строк (запятая может на разрыве пропасть, слова могут слипнуться без разделения или может появиться 2 запятых)
Александр23 уровень, Казань
21 марта, 13:59
Начал делать все через регулярки - со строками до этого уже напыхтелись.
Николай25 уровень
19 марта, 14:08
Опять невнимательность - не прочитал, что параметры не надо с консоли считывать ))
Petrusiova30 уровень
17 марта, 17:11
как НЕ проходит:
BufferedWriter writer = new BufferedWriter(new FileWriter(fileOut, true));
(говорит убедиться, что использую FileWriter) как проходит:
BufferedWriter writer = new BufferedWriter(new FileWriter(fileOut));
Вячеслав20 уровень, Санкт-Петербург
15 марта, 14:28
Как, ссука, из фразы "Файл1 содержит слова, разделенные пробелом." понять, что Файл1 на самом деле содержит ни "слова, разделенные пробелом", а, строки, состоящие из слов, разделённых пробелами??? Составленные на от.....бись условия к задачам уже в корне раздражают.
Николай25 уровень
19 марта, 14:11
Вячеслав, раздражительность плохая черта для разработчика. Но к слову сказать, в задании не сказано, что строка одна. Поэтому в принципе все корректно. Да и хорошая практика - всегда считывать ВЕСЬ файл ))
Вячеслав20 уровень, Санкт-Петербург
19 марта, 15:39
В условии к одному из предыдущих заданий (точно не помню к какому) было сказано что-то типа "файл содержит строки со словами, разделёнными пробелами". Здесь вопросов нет - условие корректно. Почему же в этом задании, раз это проверяется, структура файла не была описана аналогично? Да, здесь не сказано, что строка одна, но сказано "содержит слова, разделенные пробелом", что, на мой взгляд, исключает наличие нескольких строк в файле. Слова через пробел, всё. Никаких переносов строк. И, раз уж мы здесь учимся, это ресурс учебный, то условия к задачам, я считаю, должны быть чёткими, эталонными (ну или близки к таковым), чтобы сразу привыкать к хорошему, к тому как должно быть правильно, а не к "а-ай... и так сойдёт". Хотелось бы тратить больше времени на обучение, а не на уламывание валидатора перебором вариантов. И, во-первых, кто сказал, что ВЕСЬ файл не является или не может являться одной строкой? Во-вторых, если считать ВЕСЬ файл и распарсить его по условию, то правильного выполнения не будет - про строки в условии ничего не сказано.
Николай25 уровень
19 марта, 15:42
я думаю и помимо этой задачи вы встречали такие, где не сразу поймешь что от тебя хотят. И в реальности это нормально. Поэтому нужно просто успокоиться и решать, решать, решать ))
Вячеслав20 уровень, Санкт-Петербург
19 марта, 16:10
Когда несколько часов к ряду мучаешься с одной задачей из-за нечёткого условия, хочется ломать, ломать, ломать... Ещё раз повторю - в жизни нет валидатора. Написал? Написал. Работает? Работает. Всё, эту тестировщикам на проверку, следующую задачу в студию! Уговаривать никого не надо, тем более когда написано одно, а имеется ввиду другое.
Николай25 уровень
19 марта, 18:35
Как хотите, не мне вас переубеждать.
Вячеслав20 уровень, Санкт-Петербург
19 марта, 21:40
Отчего же? Я за диалог. Только конструктивный, с приведением аргументов и парирование доводов оппонента. А не просто словами, что всё корректно, потому что в реальности это нормально. Во-первых, в реальности всё же другой подход, а, во-вторых, в разных фирмах разные представления о "нормальности". И обсуждение началось не с реальности, а с учебного ресурса. Аргументы в пользу того, каким он должен быть по моему представлению, я уже приводил.
Николай25 уровень
20 марта, 04:19
Аргументы? Ок. В задаче написано, что в файле только одна строка? Нет. Это вы так интерпретировали ... сделали ложные выводы.
Вячеслав20 уровень, Санкт-Петербург
20 марта, 06:29
Блин... Комментирую себя: "В условии к одному из предыдущих заданий (точно не помню к какому) было сказано что-то типа "файл содержит строки со словами, разделёнными пробелами". Здесь вопросов нет - условие корректно. Почему же в этом задании, раз это проверяется, структура файла не была описана аналогично?" По логике - если ранее было, а тут нет, значит не написали не просто так. Далее по тексту: "Да, здесь не сказано, что строка одна, но сказано "содержит слова, разделенные пробелом", что, на мой взгляд, исключает наличие нескольких строк в файле. Слова через пробел, всё. Никаких переносов строк."
Николай25 уровень
20 марта, 06:51
Ну перечитайте себя же еще разок - вы сами додумали это условие. Да, в предыдущей задаче это было четко прописано, но в этой же нет такого же четкого указания, что в файле только одна строка? Ваша логика следующая - если там было четко написано, значит здесь ДОЛЖНО быть то же четко прописано. Оказывается - не должно. Просто не стоит так из за этого переживать - главное решение уже сделано, опыт получен, знания получаются.
Вячеслав20 уровень, Санкт-Петербург
20 марта, 08:26
Совершенно верно! Моя логика такова. "Оказывается - не должно" - в том и дело, что должно, а то, что не указали - допустили неточность в условии. Мою логику подкрепляет и второй аргумент. Указано чётко в файле то, что есть, значит другого нет. По крайней мере я могу это не учитывать, а валидатор при прогоне тестов, соответственно, не должен. По вашей логике, почему там не быть запятым, кавычкам, двоеточим, возвратам каретки и т.д.? Про них же тоже ничего не сказано. А выводить нужно только слова.
Александр23 уровень, Казань
21 марта, 13:37
Вы не знали что файлы состоят из строк?
Вячеслав20 уровень, Санкт-Петербург
22 марта, 09:38
А файл не может состоять из одной строки, да? Их всегда должно быть несколько? Прикольно...
Александр23 уровень, Казань
22 марта, 11:47
Почему же - может. Просто тупо думать, что там одна строка - так как в прошлой задаче писали про много строк - а тут не написали - значит одна.
Вячеслав20 уровень, Санкт-Петербург
22 марта, 16:32
Это нормально, делать то, что требуется. И объявлять сразу о том, что учитывается. Так можно думать много о чём! И всё учитывать, что не написано в условии и требованиях. Это же не значит, что этого нет.