Hello guys,
Hope that you're doing well.
I'm failing to validate the last point, so I need your help to figout out what is wrong in my code.
I succesfully tested my code with a webpage but I can't pass the last validation point.
Thanks in advance.
package fr.codegym.task.task19.task1918;
/*
Présentation des balises
*/
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class Solution {
public static void main(String[] args) {
//c:\Users\xxx\Desktop\file2.txt
String tagName = args[0];
String openingTag = "<" + tagName, closingTag = "</" + tagName;
StringBuilder content = new StringBuilder();
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedReader br = new BufferedReader(new FileReader(reader.readLine()));
reader.close();
while (br.ready()) {
content.append(br.readLine());
}
br.close();
} catch (IOException e) {}
String contentString = content.toString();
int openingTagIndex = content.indexOf(openingTag), tagCount = 0;
int closingTagIndex = content.indexOf(closingTag);
List<Integer> openingTagIndexList = new ArrayList<>(), closingTagIndexList = new ArrayList<>();
while (openingTagIndex > -1 || closingTagIndex > -1) {
if( openingTagIndex != -1 && openingTagIndex < closingTagIndex) {
if (tagCount == 0)
openingTagIndexList.add(openingTagIndex);
tagCount++;
openingTagIndex = contentString.indexOf(openingTag, openingTagIndex + 1);
} else if(openingTagIndex == -1 || (openingTagIndex > closingTagIndex && closingTagIndex != -1)){
tagCount--;
if (tagCount == 0)
closingTagIndexList.add(closingTagIndex);
closingTagIndex = contentString.indexOf(closingTag, closingTagIndex + 1);
}
}
for (int i = 0 ; i < openingTagIndexList.size(); i++) {
System.out.println(contentString.substring(openingTagIndexList.get(i), closingTagIndexList.get(i)) + closingTag + ">" );
}
}
}