void recur(int i){ if(i==n) return; String sub=""; for(int j=i+1;j<n;j++) { sub=s.substring(i,j); if(isPalindrome(sub)) System.out.println(sub); } recur(i++);}我StackOverflowError在sub=s.substring(I,j); 聲明。s="geeks", initial value of I=0;
2 回答

嚕嚕噠
TA貢獻1784條經驗 獲得超7個贊
嘗試這個
public class P {
public static final String s="geeks";
static void recur(int i){
int n=6; //Size of string
if(i==n)
return;
String sub="";
for(int j=i+1;j<n;j++)
{
sub=s.substring(i,j);
//Any Function
System.out.println(sub);
}
recur(++i);
}
public static void main(String[] args) {
P.recur(0);
}
}

Smart貓小萌
TA貢獻1911條經驗 獲得超7個贊
recur(i++);
表達式i++
的值為i
當前時間的值;然后你增加它。
因此,您基本上是在調用:
recur(i); i++;
所以你只是recur
用相同的參數(shù)再次調用。
嘗試:
recur(++i);
添加回答
舉報
0/150
提交
取消