Гуру, помогите пожалуйста.
Хотел сделать через простейшие поиски и условия методом перебора. На тестовом примере и других примерах с форума - все выводит правильно, однако последнее условие не проходит.
Подскажите, пожалуйста, где "собака" зарыта.
package com.javarush.task.task19.task1918;
/*
Знакомство с тегами
*/
import java.io.*;
public class Solution {
static String convertTagToStringInOneLine(String tag) {
String tagInManyLines = tag.substring(tag.indexOf("<"));
String[] linesOfTag = tagInManyLines.split("\n");
String tagInOneLine = "";
for (String x : linesOfTag) tagInOneLine += x;
return tagInOneLine;
}
static void printTegsInARow(String tagInOneLine, String mainTag) {
String tagBegin = "<" + mainTag;
String tagEnd = "</" + mainTag;
String[] a = tagInOneLine.split(tagBegin);
int count = 1;
for (int i = 1; i < a.length; i++) {
if (a[i].contains(tagEnd)) {
String[] b = a[i].split(tagEnd);
count = 0;
while (count != b.length - 1) {
for (int j = b.length - 1 - count; j > 1; j--) System.out.print(tagBegin + a[b.length - j]);
System.out.print(tagBegin + b[0]);
for (int j = 1; j < b.length - count; j++) {
if (count < b.length - 2) System.out.print(tagEnd + b[j]);
else System.out.print(tagEnd + ">");
}
count++;
if (count < b.length) System.out.println();
}
}
}
}
public static void main(String[] args) throws IOException {
BufferedReader reader1 = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader1.readLine();
reader1.close();
FileReader fileReader = new FileReader(fileName);
BufferedReader reader = new BufferedReader(fileReader);
String line = "";
String lineFromFile;
while ((lineFromFile = reader.readLine()) != null) {
line += lineFromFile;
}
reader.close();
fileReader.close();
//String line = convertTagToStringInOneLine("<a href=\"href1\">blabla1</a>\n" + "<a href=\"href2\" title=\"title2\"><a href=\"href3\">blabla3</a></a>");
printTegsInARow(convertTagToStringInOneLine(line), args[0]);
}
}