Доброго всем дня. Не могу понять, почему валидатор не принимает решение. Дефолтный пример выводит что надо.
package com.javarush.task.task19.task1918;
/*
Знакомство с тегами
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
FileReader fr = new FileReader(r.readLine());
String tag = args[0];
BufferedReader reader = new BufferedReader(fr);
String line;
while ((line = reader.readLine()) != null) {
String[] mas = line.split(tag);
for (int i = 1; i < mas.length - 1; i++) {
StringBuilder sb = new StringBuilder();
sb.append("<").append(tag);
int countO = 0, countC = 0;
if (mas[i - 1].endsWith("<")) {
for (int j = i; j < mas.length - 1; j++) {
sb.append(mas[j]).append(tag);
if (mas[j].endsWith("<"))
countO++;
if (mas[j].endsWith("</"))
countC++;
if (countC > countO)
break;
}
sb.append(">");
System.out.println(sb.toString());
}
}
}
r.close();
fr.close();
reader.close();
}
}
package com.javarush.task.task19.task1918;
/*
Знакомство с тегами
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
FileReader fr = new FileReader(r.readLine());
String tag = args[0];
BufferedReader reader = new BufferedReader(fr);
String line;
while ((line = reader.readLine()) != null) {
String[] mas = line.split(tag);
for (int i = 1; i < mas.length - 1; i++) {
StringBuilder sb = new StringBuilder();
sb.append("<").append(tag);
int countO = 0, countC = 0;
if (mas[i - 1].endsWith("<")) {
for (int j = i; j < mas.length - 1; j++) {
sb.append(mas[j]).append(tag);
if (mas[j].endsWith("<"))
countO++;
if (mas[j].endsWith("</"))
countC++;
if (countC > countO)
break;
}
sb.append(">");
System.out.println(sb.toString());
}
}
}
r.close();
fr.close();
reader.close();
}
}