问题描述
Stringexpr=func(Strings){returns.length()>0?func(s.substring(1))+s.charAt(0):"";}Stringexpr=func("Gameloft");结果为什么是:tfolemaG请详细解答,谢谢各位了!!!
解决方案
解决方案二:
Stringexpr=func(Strings){//如果s.length>0成立及为true,执行第一个func(s.substring(1))+s.charAt(0)return它,//为假s.length>0不成立执行""即return""returns.length()>0?func(s.substring(1))+s.charAt(0):"";}Stringexpr=func("Gameloft");
解决方案三:
你可以把每次遞歸的結果寫出來就能看明白了
解决方案四:
引用1楼xnjnmn的回复:
Stringexpr=func(Strings){//如果s.length>0成立及为true,执行第一个func(s.substring(1))+s.charAt(0)return它,//为假s.length>0不成立执行""即return""returns.length()>0?func(s.substring(1))+s.charAt(0):"";}Stringexpr=func("Gameloft");
看这个吧
解决方案五:
我都服了你们了,就没人一个说的明白。什么时候结束啊?不能说明白点啊,光说什么意思,我也知道,还有你们啊?
解决方案六:
publicclasstestseq{publicstaticvoidmain(Stringargs[]){Stringexpr=func("Gameloft");System.out.println(expr);}staticStringfunc(Strings){if(s.length()>0){System.out.println(s);returnfunc(s.substring(1))+s.charAt(0);}else{return"";}}}
這樣能明白不
解决方案七:
Stringfunc(Strings){returns.length()>0?func(s.substring(1))+s.charAt(0):"";}Stringexpr=func("Gameloft");结果为什么是:tfolemaG请详细解答,怎么实现递归的?到什么时候结束?谢谢各位了!!!
解决方案八:
看来是我真的不适合学java,太笨的。
解决方案九:
Stringfunc(Strings){returns.length()>0?func(s.substring(1))+s.charAt(0):"";}Stringfunc("Gameloft");
红字部分实现递归当s.length()=0时结束
解决方案十:
Stringfunc(Strings){returns.length()>0?func(s.substring(1))+s.charAt(0):"";}Stringfunc("Gameloft");
解决方案十一:
packagecom;publicclassBaigei{publicstaticvoidmain(String[]args){System.out.print(func("Gameloft"));}staticinti=1;没看你还M了我,详细解释如下publicstaticStringfunc(Strings){System.out.println(s+"--"+(i++));////charAt()//说明Returnsthecharvalueatthespecifiedindex.Anindexrangesfrom0tolength()//返回的是第一个明白了吧1-2把a作为charAt(0)变成aG//2-3把m作为charAt(0)变成maG//3-4//4-....//7-8tfolemaGreturns.length()>0?func(s.substring(1))+s.charAt(0):"";}}输出Gameloft--1ameloft--2meloft--3eloft--4loft--5oft--6ft--7t--8--9tfolemaG
解决方案十二:
你递归调用func(s.substring(1))+s.charAt(0)直到了最后一个时才满足s.length()>0,此时相当于("t".substring(1).length()>0=>"".length()>0),返回上一级调用""+"t".charAt(0)=>"t"+"ft".charAt(0)=>"tf"+"oft".charAt(0)=>依次类推最后就是反过来Gameloft=>tfolemaG
解决方案十三:
我又蒙了,递归太难整了。
解决方案十四:
方法A(){方法A()}
这就是递归,在方法里调用方法自身,直到判断条件为不满足是才停止。func(Strings){func(s.substring())}
LZ你的题目其实也就是这样而已。
解决方案十五:
恩!mark
解决方案:
学习了,谢过