Это ваш проект — поднимите его в топ каталога
Продвинуть в топПарсер на языке Java с использованием рекурсии
Заказчик
ОткликнутьсяАЛ
АлексейПарсер, который принимает на вход текстовый файл, содержащий один корневой узел, и построить в памяти древовидное представление данных. Каждому узлу назначить целочисленный id. Затем слить данные в текстовый файл такой структуры: (id узла, id вышестоящего узла, имя узла, значение в узле)
В случае наличия ошибок формата данных, выдавать сообщение вида "Неверный формат данных" и завершать работу.
Пример иерархической структуры:
Shape = {
Type = "tetrahedron"
Vertices = {
Point = { x = "1" y = "0" z = "0"
}
Point= { x = "0" y = "1" z = "0" }
Point ={ x = "0" y = "0" z = "1" }
Point = { x = "1" y = "1" z = "1" }
}
Color = { r = "0xFF" g = "0x00" b = "0x80" alpha = "0x80" }a="25"
}
Пример выходного файла:
(1, 0, shape, )
(2, 1, type, tetrahedron)
(3, 1, vertices, )
(4, 3, point, )
(5, 4, x, 1)
(6, 4, y, 0)
(7, 4, z, 0)
(8, 3, point, )
(9, 8, x, 0)
(10, 8, y, 1)
(11, 8, z, 0)
(12, 3, point, )
(13, 12, x, 0)
(14, 12, y, 0)
(15, 12, z, 1)
(16, 3, point, )
(17, 16, x, 1)
(18, 16, y, 1)
(19, 16, z, 1)
(20, 1, color, )
(21, 20, r, 0xFF)
(22, 20, g, 0x00)
(23, 20, b, 0x80)
(24, 20, alpha, 0x80)
(25, 1, a, 25)
В случае наличия ошибок формата данных, выдавать сообщение вида "Неверный формат данных" и завершать работу.
Пример иерархической структуры:
Shape = {
Type = "tetrahedron"
Vertices = {
Point = { x = "1" y = "0" z = "0"
}
Point= { x = "0" y = "1" z = "0" }
Point ={ x = "0" y = "0" z = "1" }
Point = { x = "1" y = "1" z = "1" }
}
Color = { r = "0xFF" g = "0x00" b = "0x80" alpha = "0x80" }a="25"
}
Пример выходного файла:
(1, 0, shape, )
(2, 1, type, tetrahedron)
(3, 1, vertices, )
(4, 3, point, )
(5, 4, x, 1)
(6, 4, y, 0)
(7, 4, z, 0)
(8, 3, point, )
(9, 8, x, 0)
(10, 8, y, 1)
(11, 8, z, 0)
(12, 3, point, )
(13, 12, x, 0)
(14, 12, y, 0)
(15, 12, z, 1)
(16, 3, point, )
(17, 16, x, 1)
(18, 16, y, 1)
(19, 16, z, 1)
(20, 1, color, )
(21, 20, r, 0xFF)
(22, 20, g, 0x00)
(23, 20, b, 0x80)
(24, 20, alpha, 0x80)
(25, 1, a, 25)
Как откликнуться на этот заказ
Чтобы получить заказ, войдите как фрилансер и отправьте отклик: опишите, как решите задачу, укажите цену и срок и приложите пример похожей работы из портфолио. Заказчик видит все отклики и выбирает исполнителя, поэтому отвечайте конкретно и по делу.
Гарантия оплаты через безопасную сделку
Все расчёты на ProFreelance защищены. При работе через безопасную сделку деньги резервируются на площадке и переводятся исполнителю только после того, как заказчик принял результат — это защищает обе стороны от обмана.
Похожие заказы и услуги
Смотрите другие предложения в разделе «Проекты» или следите за лентой заказов, чтобы откликаться на новые задачи первым.