永发信息网

Java method 问题?

答案:4  悬赏:10  手机版
解决时间 2021-05-10 13:34
  • 提问者网友:骨子里的高雅
  • 2021-05-10 07:35

public class example
{

public static String reverseString( String s )
{
if ( s.length() == 0 )
return "";

String firstChar = s.substring( 0, 1 );
String reverseRest = reverseString( s.substring( 1 ) );

String result = reverseRest + firstChar;

return result;
}

public static void main( String[] args )
{
String a = "The sky's the limit!";
System.out.println( reverseString( a ) );
}

}
这个代码输出为何是那样的啊 解释下。。

最佳答案
  • 五星知识达人网友:时间的尘埃
  • 2021-05-10 07:50

这是一个Recursive Method Call 的例子。它每次取出输入String的第一个字符,把它放到剩余字符的后面,同时又把剩余字符通过同样的Method进行同样处理,如此不断深入,最后输出的结果就是把输入的String倒转过来, 变成

!timil eht s'yks ehT

全部回答
  • 1楼网友:风格不统一
  • 2021-05-10 11:55

函数的函数递归调用

递归:指本方法中调用本方法。类似于循环。直到满足某一条件时退出。可以想象成do--while循环

  • 2楼网友:夜风逐马
  • 2021-05-10 10:34
这是函数递归调用的问题!
  • 3楼网友:妄饮晩冬酒
  • 2021-05-10 09:01

这个程序用到了递归,要理解,需要先去看点递归算法的资料。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯