public class MyClass {
private static void break_string_in_bracket(String str, int index, String form) {
if (index == str.length()) {
System.out.println(form);
}
for (int i = index; i < str.length(); i++) {
String temp = form;
temp += "(";
temp += str.substring(index, i + 1);
temp += ")";
break_string_in_bracket(str, i + 1, temp);
}
}
public static void main(String args[]) {
String str = "abcd";
break_string_in_bracket(str, 0, "");
}
}
/*
run:
(a)(b)(c)(d)
(a)(b)(cd)
(a)(bc)(d)
(a)(bcd)
(ab)(c)(d)
(ab)(cd)
(abc)(d)
(abcd)
*/