Какого хрена на сей раз не так?
Полностью переделал по советам однополчан, все равно не работает.
Ввод -
<tag><tag><tag><tag></tag></tag></tag></tag>
Вывод -
<tag><tag><tag><tag></tag></tag></tag></tag>
<tag><tag><tag></tag></tag></tag>
<tag><tag></tag></tag>
<tag></tag>
По итогу все должно быть и не так вовсе. Вот такие вот советчики.
Сейчас переделываю все чуток по другому, но на этой базе, программа принимает --
Info about Leela Turanga LeelaSupergirl
и выдает --
Turanga Leela
Turanga Leela
Super
girl
Все как в задании, но вопрос - Какого хрена на сей раз не так? - остается открытый. Что не так, все сходится.
Что за хрень, ввожу все нормально, нажимаю сохранить и все что на фото превращается в что-то другое!!! Сплошные баги(( Прям сезон колорадских жуков какой-то))

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));
String fileName = reader.readLine();
reader.close();
FileReader fileReader = new FileReader(fileName);
BufferedReader bufferedReader = new BufferedReader(fileReader);
while (bufferedReader.ready()) {
s = s + bufferedReader.readLine();
}
fileReader.close();
bufferedReader.close();
while (true) {
if (s.contains(tag) && s.contains(tagEnd)) {
int i = s.indexOf(tag);
int g = s.indexOf(tagEnd);
boolean b = teg2(s, tag, i, g);
int next;
if (b) {
next = tegBoolTrue(s, tag, tagEnd, i, g);
s = s.substring((next + tagEnd.length()), s.length());
} else {
String ss = s.substring(i, g) + tagEnd;
s = s.substring((g + tagEnd.length()), s.length());
System.out.println(ss);
}
} else break;
}
}
public static boolean teg2(String s, String tag, int a, int b) {
s = s.substring((a + tag.length()), s.length());
a = s.indexOf(tag);
if (a < b && a != -1) return true;
else return false;
}
public static int tegBoolTrue(String s, String tag, String tagEnd, int a, int b) {
String ss = s.substring((b + tagEnd.length()), s.length());
int bb = ss.indexOf(tagEnd);
bb = bb + b + tagEnd.length();
ss = s.substring(a, bb) + tagEnd;
System.out.println(ss);
ss = ss.substring((a + tag.length()), ss.length());
int i = ss.indexOf(tag);
int g = ss.indexOf(tagEnd);
ss = ss.substring(i, g) + tagEnd;
System.out.println(ss);
return bb;
}
}