Вывод на экран примера из условия получается верный.
Валидатор не пропускает по превышению времени выполнения.
Подкиньте идею, что не так?
Считай с консоли имя файла, который имеет HTML-формат.
Пример: Info about Leela <span xml:lang="en" lang="en"><b><span>Turanga Leela </span></b></span><span>Super</span><span>girl</span>
Первым параметром в метод main приходит тег. Например, "span".
Вывести на консоль все теги, которые соответствуют заданному тегу.
Каждый тег на новой строке, порядок должен соответствовать порядку следования в файле.
Количество пробелов, \n, \r не влияют на результат.
Файл не содержит тег CDATA, для всех открывающих тегов имеется отдельный закрывающий тег, одиночных тегов нет.
Тег может содержать вложенные теги.
Пример вывода: <span xml:lang="en" lang="en"><b><span>Turanga Leela</span></b></span>
<span>Turanga Leela</span>
<span>Super</span>
<span>girl</span>
превышению времени выполнения это вечный цикл в программе или (значительно реже) возможно лишний ввод (запрос ресурса который валидатор не ждет).
Как говорят французы,
Ну, автор кода обязан понимать что в его коде происходит, это твоя зона ответственности. Не видишь где возникает, значит код нужно переписать. Это как водителю управлять с закрытыми глазами.
Если водитель не видит дорогу он останавливается до тех пор пока не будет видеть куда едет.
Еще вопрос, что это такое:
publicstaticList<String> tags =newArrayList<>();
твоя программа при 50-ти запуска с определенного окружения корректно отработает? Зачем статическое поле в класс Солюшн? Класс Солюшн это учебный класс, чья задача с помощью ряда методов/возможно классов выполнить определенную задачу.
Класс не называется TagProvider или тд, и я не вижу оснований для того, чтобы в этом классе было поле tags да еще и статическое.
Чем ты руководствовался когда выносил его в поле класса? Насколько я вижу, ты его используешь только в одном методе
и такое:
FileReader fileReader =newFileReader(str);
недопустимо.
ты не str передаешь, а fileName
читай Clean code Роберта Мартина
внутри рекурсивного метода нельзя создавать такой список, так как он будет заново создаваться и перезаписываться. Поэтому сделал его полем класса. Метод splitTags добавляет в него теги. На самом деле надо было сделать этот метод void.
Ошибка была в том, что я решал задачу только для тега "span". Переписал для любых тегов, решение засчиталось.
Помощь в стиле "хватит ныть, иди переделывай свой никчёмный код" на удивление неплохо сработала. : )
в любом случае это не по пиркоду по ООП дизайну. Статическое поле в непрофильном классе для рекурсивного алгоритма...как-то не отзывается, слишком похоже на синюю изоленту. Ну я проговорил, ты меня понял, это главное в принципе.
Помощь в стиле "хватит ныть, иди переделывай свой никчёмный код" на удивление неплохо сработала.:)
Красавчик :) Это самое приятное, когда человек сам все решает, получает прокачку, достигает всех своих целей и своими силами :) + ценный навык самостоятельного закрытия вопросов, ему цены просто нет, и вырабатывать лучше сейчас..
Успехов!
по пиркодупо ООП дизайну. Статическое поле в непрофильном классе для рекурсивного алгоритма...как-то не отзывается, слишком похоже на синюю изоленту. Ну я проговорил, ты меня понял, это главное в принципе. Красавчик :) Это самое приятное, когда человек сам все решает, получает прокачку, достигает всех своих целей и своими силами :) + ценный навык самостоятельного закрытия вопросов, ему цены просто нет, и вырабатывать лучше сейчас.. Успехов!