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

  • 12
  • Недоступна
В метод main первым параметром приходит имя файла1, вторым — файла2. Файл1 содержит слова, разделенные пробелом. Записать через запятую в Файл2 слова, длина которых строго больше 6. В конце файла2 запятой не должно быть. Закрыть потоки.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (246)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Vladislav Shamshurin27 уровень, Ижевск
Tuesday, 06:56
Решил 3 разными способами, задача ПОЛНОСТЬЮ выполняла условие, писала и такие слова как
чтомнеделатьянепойму,,хорошечно,джавараш,awda1a]awd\\a21
Но валидатор упорно не пропускал по 4 пункту "Проверьте, что программа записывает слова, длина которых больше 6". Ну я психанул и на гитхаб пошёл :) Ну вы поняли
Итай20 уровень, Новосибирск
24 May, 07:42
В очередной раз, "подсказка" валидатора при ошибке, ни чего общего с реальной причиной не имело.
Oleksii Klymenchuk22 уровень
17 May, 19:38
Исходный текст:
Требования:
1. Программа НЕ должна считывать данные с консоли.
2. Программа должна считывать содержимое первого файла (используй FileReader c конструктором String).
3. Поток чтения из файла (FileReader) должен быть закрыт.
4. Программа должна записывать через запятую во второй файл все слова из первого файла длина которых строго больше 6(используй FileWriter).
5. Поток записи в файл (FileWriter) должен быть закрыт.
результат от регулярки "\\S{7,}"
Требования:,Программа,считывать,консоли.,Программа,считывать,содержимое,первого,(используй,FileReader,конструктором,String).,(FileReader),закрыт.,Программа,записывать,запятую,первого,которых,6(используй,FileWriter).,(FileWriter),закрыт.
результат от регулярки "\\b[a-zA-Zа-яА-Я]{7,}\\b"
Требования,Программа,считывать,консоли,Программа,считывать,содержимое,первого,используй,FileReader,конструктором,FileReader,Программа,записывать,запятую,первого,которых,используй,FileWriter,FileWriter
А теперь сравним с требуемым результатом из задачи
длинное,короткое,аббревиатура
Угадайте какая регулярка прошла? Правильно! Первая! Качество подачи материала катастрофически падает от уровня уровню...
zubov.evg20 уровень, Харьков
12 May, 10:38
-1 попытка за то что не использовал Filewriter , а так пока держусь без регулярок)
СЕРГЕЙ20 уровень, Озёрск
Tuesday, 01:01
не могу понять, зачем лепить костыли, если есть очень мощный инструмент в котором рано или поздно все ровно нужно разобраться.
Дмитрий20 уровень, Москва
30 April, 11:06
1) Если что в файле может быть больше одной строки (хотя да, зачем писать это в условии?) 2) Используй регулярку:
if (word.matches(".{7,}")) {
Антон23 уровень
6 May, 17:33
с регулярками сложнее.
if (str[i].length>6){
так легче.
Степан25 уровень, Казань
22 April, 02:06
Сначала пробовал сразу считать весь файл в String content, а потом уже парсить на слова.
while (reader.ready()){
content = content+reader.readLine();
}
Но так не сработало, как я понял - "склеиваются" слова в конце одной строки и начале другой. Либо надо разделитель, либо анализировать сразу построчно.
Sonnenstern25 уровень, Днепр
12 April, 14:21
Записал слова с длинной >6 в лист с сплитом по пробелу, потом через фор записал с листа во второй файл добавляя запятую к каждой строке кроме последней
Владислав31 уровень
12 April, 13:06
Решил задачу с помощью StringBuilder'a, с удалением последнего символа. Какие еще есть варианты решения? Можно ли с помощью методов mark и reset удалить каким-то образом последний символ? До меня не дошло...
Денис27 уровень, Москва
14 April, 19:48
writer.write(String.join(",", arrayList));
Владислав31 уровень
15 April, 07:26
Спасибо!
Антон23 уровень
6 May, 17:40
создал булеан= false;
if(boolean){ ...write("," + str[i]);
} else {...write(str[i]);boolean = true;}
ANDREY TYUNIKOV28 уровень, Кировск
12 April, 12:15
Несмотря на абракадабру в выходном файле - валидатор принял без проблем ))
Зенур23 уровень
7 April, 20:57
Исходный файл может быть из нескольких строк, итоговый - в одну строку. Писать в файл нужно не построчно, писать нужно итоговую строку после прочтения всех строк.
Антон23 уровень
6 May, 17:42
не обязательно после прочтения всех строк: прочитал строку - написал в файл, прочитал след. строку - написал в файл. Закрыл потоки.