Распаковка строки
Задача: Написать на Java программу распаковывания строки. На вход поступает строка вида число[строка], на выход - строка, содержащая повторяющиеся подстроки. Я написал примитивный вариант : на вход подать 3[xyz]4[xy]z то ответ будет xyzxyzxyzxyxyxyxyz,но вся эта логика становится не актуальна если входные данные будут скажем 2[3[x]y](ответ должен быть xxxyxxxy).Подскажите в каком направлении думать, пытался реализовать с помощью hashMap, чтобы число было ключом, а то что в скобках значением - не получилось. Несколько дней уже пытаюсь реализовать грамотно эту задачу, но пока получился только такой неграмотный вариант. Буду признателен и рад любой помощи!
public class UnpackingString {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
String[] str = a.split("\\[+|\\]");
UnpackingString unp = new UnpackingString();
int i = 1;
for (String string : str) {
if (unp.checkString(string)) {
i = Integer.parseInt(string);
}else {
for (int j = 0; j < i; j++) {
System.out.print(string);
}
i = 1;
}
}
}
public boolean checkString(String string) {
try {
Integer.parseInt(string);
} catch (Exception e) {
return false;
}
return true;
}
}