Первым параметром в метод main приходит тег. Например, «span«.
Вывести на консоль все теги, которые соответствуют заданному тегу.
Каждый тег на новой строке, порядок должен соответствовать порядку следования в файле.
Количество пробелов, n, r не влияют на результат.
Файл не содержит тег CDATA, для всех открывающих тегов имеется отдельный закрывающий тег, одиночных тегов нет.
Тег может содержать вложенные теги.
Пример вывода:
Turanga Leela
Turanga Leela
Super
girl
Шаблон тега:
<tag>text1</tag>
<tag text2>text1</tag>
<tag
text2>text1</tag>
text1, text2 могут быть пустыми
Требования:
1. Программа должна считывать имя файла с консоли (используй BufferedReader).
2. BufferedReader для считывания данных с консоли должен быть закрыт.
3. Программа должна считывать содержимое файла (используй FileReader).
4. Поток чтения из файла (FileReader) должен быть закрыт.
5. Программа должна выводить в консоль все теги, которые соответствуют тегу, заданному в параметре метода main.
package com.javarush.task.task19.task1918;
/*
Знакомство с тегами
*/
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Solution {
public static void main(String[] args) throws IOException {
String tag = "<" + args[0];// начальный тэг
String tagEnd = "</" + args[0] + ">";// конечный тэг
String s = "";
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedReader readFile = new BufferedReader(new FileReader(reader.readLine()));
reader.close();
while (readFile.ready()) s += readFile.readLine();//все запишим в одну строку
readFile.close();
while (true) {
if (s.contains(tag) && s.contains(tagEnd)) {
int i = s.indexOf(tag);// находим индекс первого вхождения <tag
int g = s.indexOf(tagEnd);//находим индекс первого вхождения </tag>
String ss = s.substring(i, g) + tagEnd;//нужный нам тэг
s = s.replaceAll(ss, "");// удалим то что проверили.
System.out.println(ss);
}
else break;
}
}
}
package com.javarush.task.task19.task1918;
/*
Знакомство с тегами
*/
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Solution {
public static void main(String[] args) throws IOException {
String tag = "<" + args[0];// начальный тэг
String tagEnd = "</" + args[0] + ">";// конечный тэг
String s = "";
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedReader readFile = new BufferedReader(new FileReader(reader.readLine()));
reader.close();
while (readFile.ready()) s += readFile.readLine();//все запишим в одну строку
readFile.close();
while (true) {
if (s.contains(tag) && s.contains(tagEnd)) {
int i = s.indexOf(tag);// находим индекс первого вхождения <tag
int g = s.indexOf(tagEnd);//находим индекс первого вхождения </tag>
String ss = s.substring(i, g) + tagEnd;//нужный нам тэг
String s1= s.substring(0,(g + tagEnd.length()));// выделяем в отдельную строку то что проверили
s = s.replaceAll(s1, "");// удалим то что проверили.
System.out.println(ss);
}
else break;
}
}
}