黑马程序员技术交流社区
标题:
递归
[打印本页]
作者:
zhouchao
时间:
2013-7-7 16:03
标题:
递归
本帖最后由 杨兴庭 于 2013-7-8 16:40 编辑
class DiGui
{
public static void main(String[] args)
{
mothed(1);
}
public static void mothed(int x)
{ if(x<100)
{
System.out.println(x);
x++;
mothed(x);
}
else
System.out.println(x);
}
}
关于递归的代码,这应该将1-100进行了遍历 可是要求和该如何定义呢?
如果在mothed里定义一个求和的变量的话 进行递归的话就会重新赋值,该如何解决这个问题
作者:
孙金鑫
时间:
2013-7-7 18:30
//递归要定义结束条件,否则的话就是死循环。
//记得,毕老师视频中有讲到递归,如果是从1加到100的话,递归是逐层实现的,也就是说从100到1分成100分函数,然后到1得出结果,再次逆推上去,这是计算机实现递归。
下面是代码:
public class Recursion {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println(method(100));
}
public static int method(int x)
{
if(x<=0)
throw new RuntimeException("输入数据错误!");
if(x==1)
return 1;
return x+method(x-1);
}
}
复制代码
作者:
toShareBeauty
时间:
2013-7-7 18:37
递归的弊端是使用栈太厉害,递归太多都可以能直接堆栈溢出。
作者:
张承富
时间:
2013-7-7 18:45
public static int method(int i){
if(i == 100){
return i;
}
return i + method(i++);
}
method(1):
我这是用手机打的,上面括号是中文括号
你自己可以练习编写一个递归,求任意连续自然数求和,比如十到100等
然后主方法中method()
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2