Какого ляда оно рекомендует?
ответ парсинга этого Текста верный:
![]()
ответ парсинга этого Текста верный:

package com.javarush.task.task19.task1918;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Знакомство с тегами
*/
public class Solution {
public static ArrayList<String> parse = new ArrayList<String>();
public static String tag;
public static void main(String[] args) throws IOException{
tag = args[0];
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
FileReader file = new FileReader(reader.readLine());
reader.close();
char c;
String tag = "",line ="";
while (file.ready()) {
c = (char) file.read();
if (tag.length()==0) {
if (c == '<') {tag += c; if (line.length()>0) parse.add(line); line = "";}
else line +=c;
}
else if (c == '>') { parse.add(tag+c); tag = "";}
else tag +=c;
}
file.close();
int i =0;
while (i<parse.size()) {i=GetNextTag(i);i++;}
}
public static int GetNextTag(int index) {
String tagText ="";
int count = 0,tagIndex= index;
String[] split;
while (index < parse.size()) {
split = parse.get(index).split(" ");
if (split[0].substring(0, 2).equals("</")) {
if (split[0].substring(2,split[0].length()-1).equals(tag)) {
if (count >0) {
count --;
tagText += parse.get(index);
if (count == 0 ) break;}
}
else tagText += parse.get(index);
}
else if (split[0].substring(0, 1).equals("<")&(split[0].substring(1,(split[0].charAt(split[0].length()-1)=='>'?(split[0].length()-1):(split[0].length()))).equals(tag))) {
if (count==0) {tagIndex= index; tagText = parse.get(index);} else tagText += parse.get(index);
count++;
}
else if (count>0) tagText += parse.get(index);
index++;
}
//tagText = tagText.replaceAll("\n", "").replaceAll("\r", "");
if (!tagText.equals(""))System.out.println(tagText);
return tagIndex;
}
}