char d;
String e="",i1="",d1="";
public static void main(String args[])throws IOException
{
String str="";
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the string");
str=br.readLine();
int l,i=0;
l=str.length();
char k;
String f="";
Vivek obj=new Vivek();
while(i<l)
{
k=str.charAt(i);
f=Character.toString(k);
System.out.println(k);
obj.recursive(str,f,i+1,l);
i++;
}
}
public void recursive(String s,String c,int i,int l)
{
for(int j=i;j<l;j++)
{
d=s.charAt(j);
d1=Character.toString(d);
System.out.println(c+d1);
}
//System.out.println();
i1=Character.toString(s.charAt(i));
e=c+i1;
//System.out.pritnln(e);
recursive(s,e,i+1,l);
}
程序的输出是输入字符串abcd
一
AB
AC
广告
ABC
ABD
ABCD
然后打印出错误
StringIndexOutOfBounds
...你能告诉我如何做对吗
答案 0 :(得分:2)
你的递归函数中没有任何中断条件,因此它会像永远一样运行 - 不完全理解你的代码,我会提出类似以下内容作为recursive
的第一行:{{1} }。