"Ментор" рекомендует проверить вывод тегов для примера:
У меня выводит следующее:
Что здесь не так?
У меня выводит следующее:
Что здесь не так?package com.javarush.task.task19.task1918;
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/*
Знакомство с тегами
*/
public class Solution {
private static List<String> result = new ArrayList<>();
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String fileName = br.readLine();
br.close();
StringBuilder data = new StringBuilder();
br = new BufferedReader(new FileReader(fileName));
while (br.ready()) data.append(br.readLine());
br.close();
fillResultList(data.toString(), args[0]);
result.forEach(System.out::println);
}
public static void fillResultList(String str, String tag) {
if (!str.contains(tag)) return;
String[] data = str.split("<");
for (int start = 0; start < data.length - 1; start++) {
if (data[start].startsWith(tag)) {
int count = 1;
int end = start + 1;
while (count > 0 && end < data.length) {
if (data[end].startsWith(tag)) count++;
else if (data[end].startsWith("/" + tag)) count--;
end++;
}
addResult(Arrays.copyOfRange(data, start, end));
}
}
}
public static void addResult(String[] data) {
StringBuilder sb = new StringBuilder();
for (String str : data) sb.append("<").append(str);
result.add(sb.toString());
}
}