I've tried with different inputs and it works just fine.
Can someone help me?
Thaaaanks!
package com.codegym.task.task19.task1918;
/*
Introducing tags
*/
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Stack;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String filename = br.readLine();
br.close();
BufferedReader reader = new BufferedReader(new FileReader(filename));
String data = "";
String line;
while ((line = reader.readLine()) != null) {
data += line;
}
reader.close();
String openingTag = "<" + args[0];
String closingTag = "</" + args[0] + ">";
String alpha = "α";
String omega = "Ω";
data = data.replaceAll(openingTag, alpha);
data = data.replaceAll(closingTag, omega);
data = data.substring(data.indexOf(alpha));
while (data.contains(alpha)) {
int alphaCount = 0;
int omegaCount = 0;
for (int i = 0; i < data.length(); i++) {
if (alpha.equals(String.valueOf(data.charAt(i)))) {
alphaCount++;
} else if (omega.equals(String.valueOf(data.charAt(i)))) {
omegaCount++;
}
//System.out.println("alpha " + alphaCount + " omega " +omegaCount);
if (alphaCount > 0 && alphaCount == omegaCount) {
String tags = data.substring(0, i + 1);
for (int count = 0; count < alphaCount; count++) {
tags = tags.replaceAll(alpha, openingTag);
tags = tags.replaceAll(omega, closingTag);
System.out.println(tags);
tags = tags.replaceAll(openingTag, alpha);
tags = tags.replaceAll(closingTag, omega);
tags = tags.substring(tags.lastIndexOf(alpha), tags.indexOf(omega)) + omega;
}
data = data.substring(i + 1);
break;
}
}
}
}
}