Я пытаюсь распечатать все подстроки строки рекурсивно без помощи или без использования циклов вообще. например, если строка = «домашнего» он должен напечатать:пытается распечатать все подстроки определенного srtring рекурсивно без использования циклов вообще
h o m e ho hm he hom hoe hme om oe ome me home
, если он был «до свидания» он должен напечатать:
b y e by be ye bye
я только мог сделать следующий код:
public static void printSubs(String s){
printSubs(s, "", 0, 0, s.length());
}
private static void printSubs(String s, String str, int i, int j, int length){
if(i<length && j<length){
if(j<s.length()){
if(i==j)
System.out.print(s.charAt(i)+" ");
if(i<j){
str+=s.charAt(i)+""+s.charAt(j);
System.out.print(str+" ");
}
printSubs(s, "", i, j+1, length);
}
if(j==s.length()-1){
printSubs(s.substring(i), "", i+1, i+1, length);
}
}
}
что не так с моим кодом? он только печатает:
h ho hm he o om oe e
спасибо
Вы не можете изменять строки, они являются окончательными. –
Почему вы не используете 's.toCharArray()' или 's.chars()' и смешиваете все эти символы, как хотите? – Roland
Почему «без петель»? –