Не проходит валидатор по 4 пункту: Программа должна записывать через запятую во второй файл все слова из первого файла длина которых строго больше 6(используй FileWriter).
РЕКОМЕНДАЦИЯ ОТ МЕНТОРА
Убедись, что программа записывает через запятую во второй файл все слова из первого файла длина которых строго больше 6.
С файлами работает корректно - всё отлично получается. Не понимаю - в чём проблема
Stanislav Zabiyaka
21 уровень
У меня закончились идеи - прошу помощи!
Решен
Комментарии (10)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Stanislav Zabiyaka
22 февраля 2018, 15:25
Удалось пройти валидатор, используя BufferedReader и построчное считывание, вместо FileReader и построения одной строки. хотя изначально хотел именно посимвольное считывание использовать.Всем спасибо за участие!
+1
Roman Pryshchepa Java Developer Expert
22 февраля 2018, 16:06
Мог бы заменить разделитель строк на универсальный System.getProperty("line.separator") и все бы прошло.
+1
Stanislav Zabiyaka
24 февраля 2018, 12:22
Да, насчёт лайн.сепаратор согласен, просто уже переписал код и провалидолился, к моменту когда увидел ваш первый коммент.
0
Иван Лаврентьев
22 февраля 2018, 14:49
1) залез в файл
2) читаю построчно
3) разваливаю строку на слова и пишу слова в список
4) перебираю список, если длина слова > 6 - пишу его во второй файл+ ","
+1
Roman Pryshchepa Java Developer Expert
22 февраля 2018, 08:53
Не во всех системах "\r\n" используется как разделитель строк, гугли универсальное решение :)
+1
Юрий
22 февраля 2018, 08:22
У вас проверка условий в цикле не правильная, надо при достижении конца массива words, втыкать слово в sb без запятой, иначе слово + ",".
0
Stanislav Zabiyaka
22 февраля 2018, 11:30
Там всё именно так и сделано - никакой запятой в конце не добавляется:
if (sb.length()==0)
sb.append(words[i]);
else
sb.append(",").append(words[i]);
0
Юрий
22 февраля 2018, 13:40
логика работы
0
Stanislav Zabiyaka
22 февраля 2018, 15:07
Чем это принципиально отличается от моего решения (которое работает корректно и запятую, как я уже сказал, лишнюю не пишет), кроме того, что вы проверку делаете на последний элемент массива и запятую добавляете после, а я на нулевой и запятую добавляю перед элементом? Дело точно не в этом
0
Юрий
24 февраля 2018, 08:11
Да, действительно, не правильно прочитал ваш код и сделал поспешный вывод.
0