JavaRush
Акция
Университет
Java FullStack
Python FullStack
new
Web FullStack
new
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема
Вопрос
  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Все вопросы
JavaRush/Помощь по Java задачам/подскажите плиз что не нравится валидатору? Убедис...
Антон Никифоров
29 уровень
  • 29.01.2023
  • 266просмотров
  • 6комментариев

подскажите плиз что не нравится валидатору? Убедись, что программа записывает во второй файл содержимое первого файла, где удаленны все знаки пунктуации, включая символы новой строки.

Вопрос по задаче Пунктуация
Java Core,  9 уровень,  5 лекция
Обсуждается


Считать с консоли 2 имени файла.
Первый Файл содержит текст.
Считать содержимое первого файла, удалить все знаки пунктуации, включая символы новой строки.

Результат вывести во второй файл.

Закрыть потоки.

Требования:
  • Программа должна считывать имена файлов с консоли (используй BufferedReader).
  • BufferedReader для считывания данных с консоли должен быть закрыт.
  • Программа должна считывать содержимое первого файла (используй BufferedReader c конструктором FileReader).
  • Поток чтения из файла (BufferedReader) должен быть закрыт.
  • Программа должна записывать во второй файл содержимое первого файла, где удалены все знаки пунктуации, включая символы новой строки (Для записи в файл используй BufferedWriter с конструктором FileWriter).
  • Поток записи в файл (BufferedWriter) должен быть закрыт.
package com.javarush.task.task19.task1910; import java.io.*; import java.util.ArrayList; public class Solution { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String s1 = reader.readLine(); String s2 = reader.readLine(); reader.close(); BufferedReader reader1 = new BufferedReader(new FileReader(s1)); BufferedWriter writer = new BufferedWriter(new FileWriter(s2)); String st =""; String st1=""; while (reader1.ready()) { st = st + reader1.read(); } //st1 = st.replaceAll("\\p{Punct}", ""); st1= st.replaceAll("[^\\n\\da-zA-Z\\s]", ""); for (int i= 0;i<st1.length();i++){ char c = st1.charAt(i); writer.write(c);} reader1.close(); writer.close(); } }
0
Комментарии (6)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Harbin Karrow
Уровень 4
31 января 2023, 07:52
у тебя в регулярном выражение написано "не символ новой строки", в условии указано что символы новой строки надо убрать.
st1=  st.replaceAll("[^\\n\\da-zA-Z\\s]", "");
у меня вот такое выражение было, но я читал построчно поэтому вторая половина условия у меня ничего не делает.
"\\p{P}|\\n"
0
Harbin Karrow
Уровень 4
31 января 2023, 08:00
а ещё если нажмешь alt + Enter когда ты находишься на регулярном выражении можешь нажать CheckRegExp. Появится это окошко где ты можешь посмотреть что он выбирает и на ходу откорректировать
+3
Larandvik
Уровень 30
11 августа 2023, 20:10
топ! спс!
0
Гофф
Уровень 20
Master
29 января 2023, 12:13
Я не помню, была ли, когда я решал эту задачу, фраза "включая символы новой строки". Но у меня прошло просто построчное считывание и построчный же вывод с заменой "\\p{Punct}"
0
Антон Никифоров
Уровень 29
29 января 2023, 12:30
спасибо за совет , у меня почему то не проходит.
+1
Гофф
Уровень 20
Master
29 января 2023, 12:40
Скинул тебе своё решение, просто не уверен насчёт "включая символы новой строки". Судя по тому, что вменяется использовать BufferedWriter, запись должна происходить построчно.
0
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush