在java中通过递归找到字符串的适当子集 chard; 字符串e=“”,i1=“”,d1=“”; 公共静态void main(字符串args[])引发IOException { 字符串str=“”; BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in)); System.out.println(“输入字符串”); str=br.readLine(); int l,i=0; l=str.length(); chark; 字符串f=“”; Vivek obj=新Vivek(); 虽然(i

在java中通过递归找到字符串的适当子集 chard; 字符串e=“”,i1=“”,d1=“”; 公共静态void main(字符串args[])引发IOException { 字符串str=“”; BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in)); System.out.println(“输入字符串”); str=br.readLine(); int l,i=0; l=str.length(); chark; 字符串f=“”; Vivek obj=新Vivek(); 虽然(i,java,recursion,Java,Recursion,您的递归函数中没有任何中断条件,因此它像永远一样运行-不完全理解您的代码,但我建议将以下内容作为递归的第一行:如果(i==l){return;}不要在这里乱搞…直接使用代码! char d; String e="",i1="",d1=""; public static void main(String args[])throws IOException { String str=""; BufferedReader br=new BufferedReader(new InputS

您的递归函数中没有任何中断条件,因此它像永远一样运行-不完全理解您的代码,但我建议将以下内容作为
递归的第一行:
如果(i==l){return;}

不要在这里乱搞…直接使用代码!
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);
}